hydra-kernel-0.16.0: src/main/haskell/Hydra/Sources/Decode/Variants.hs
-- Note: this is an automatically generated file. Do not edit.
-- | Source module for hydra.decode.variants
module Hydra.Sources.Decode.Variants where
import qualified Hydra.Core as Core
import qualified Hydra.Packaging as Packaging
import qualified Hydra.Typing as Typing
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.Scientific as Sci
import qualified Data.Map as M
module_ :: Packaging.Module
module_ =
Packaging.Module {
Packaging.moduleName = (Packaging.ModuleName "hydra.decode.variants"),
Packaging.moduleMetadata = (Just (Packaging.EntityMetadata {
Packaging.entityMetadataDescription = (Just "Term decoders for hydra.variants"),
Packaging.entityMetadataComments = [],
Packaging.entityMetadataSeeAlso = [],
Packaging.entityMetadataLifecycle = Nothing})),
Packaging.moduleDependencies = [
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.extract.core"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.lexical"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.rewriting"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.variants"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.util"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.decode.core"),
Packaging.moduleDependencyPackage = Nothing}],
Packaging.moduleDefinitions = [
Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.variants.literalVariant"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "hydra.variants.LiteralVariant"))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected union"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "inject"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "inj"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLet (Core.Let {
Core.letBindings = [
Core.Binding {
Core.bindingName = (Core.Name "field"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Injection"),
Core.projectionFieldName = (Core.Name "field")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "inj"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "fname"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Field"),
Core.projectionFieldName = (Core.Name "name")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "field"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "fterm"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Field"),
Core.projectionFieldName = (Core.Name "term")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "field"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "variantMap"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.maps.fromList")),
Core.applicationArgument = (Core.TermList [
Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "binary"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "binary"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))}))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "boolean"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "boolean"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "decimal"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "decimal"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "float"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "float"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "integer"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "integer"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "string"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.LiteralVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "string"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))}))))])})),
Core.bindingTypeScheme = Nothing}],
Core.letBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.optionals.cases")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.maps.lookup")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fname"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "variantMap"))}))})),
Core.applicationArgument = (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.strings.cat")),
Core.applicationArgument = (Core.TermList [
Core.TermLiteral (Core.LiteralString "no such field "),
(Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.core.Name")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fname"))})),
(Core.TermLiteral (Core.LiteralString " in union"))])}))}))))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "f"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "f")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fterm"))}))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.variants.LiteralVariant")))]))}))}),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.variants.termVariant"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "hydra.variants.TermVariant"))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected union"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "inject"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "inj"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLet (Core.Let {
Core.letBindings = [
Core.Binding {
Core.bindingName = (Core.Name "field"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Injection"),
Core.projectionFieldName = (Core.Name "field")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "inj"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "fname"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Field"),
Core.projectionFieldName = (Core.Name "name")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "field"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "fterm"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Field"),
Core.projectionFieldName = (Core.Name "term")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "field"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "variantMap"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.maps.fromList")),
Core.applicationArgument = (Core.TermList [
Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "annotated"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "annotated"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))}))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "application"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "application"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "cases"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "cases"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "either"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "either"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "inject"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "inject"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "lambda"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "lambda"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "let"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "let"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "list"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "list"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "literal"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "literal"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "map"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "map"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "optional"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "optional"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "pair"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "pair"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "project"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "project"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "record"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "record"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "set"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "set"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "typeApplication"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "typeApplication"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "typeLambda"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "typeLambda"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "unit"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "unit"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "unwrap"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "unwrap"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "variable"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "variable"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "wrap"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TermVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "wrap"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))}))))])})),
Core.bindingTypeScheme = Nothing}],
Core.letBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.optionals.cases")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.maps.lookup")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fname"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "variantMap"))}))})),
Core.applicationArgument = (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.strings.cat")),
Core.applicationArgument = (Core.TermList [
Core.TermLiteral (Core.LiteralString "no such field "),
(Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.core.Name")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fname"))})),
(Core.TermLiteral (Core.LiteralString " in union"))])}))}))))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "f"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "f")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fterm"))}))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.variants.TermVariant")))]))}))})),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.variants.typeVariant"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "hydra.variants.TypeVariant"))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected union"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "inject"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "inj"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLet (Core.Let {
Core.letBindings = [
Core.Binding {
Core.bindingName = (Core.Name "field"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Injection"),
Core.projectionFieldName = (Core.Name "field")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "inj"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "fname"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Field"),
Core.projectionFieldName = (Core.Name "name")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "field"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "fterm"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.Field"),
Core.projectionFieldName = (Core.Name "term")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "field"))})),
Core.bindingTypeScheme = Nothing},
Core.Binding {
Core.bindingName = (Core.Name "variantMap"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.maps.fromList")),
Core.applicationArgument = (Core.TermList [
Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "annotated"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "annotated"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))}))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "application"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "application"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "either"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "either"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "forall"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "forall"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "function"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "function"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "list"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "list"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "literal"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "literal"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "map"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "map"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "optional"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "optional"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "pair"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "pair"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "record"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "record"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "set"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "set"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "union"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "union"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "unit"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "unit"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "variable"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "variable"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "void"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "void"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))})))),
(Core.TermPair (
Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.core.Name"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "wrap"))}),
(Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "input"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermInject (Core.Injection {
Core.injectionTypeName = (Core.Name "hydra.variants.TypeVariant"),
Core.injectionField = Core.Field {
Core.fieldName = (Core.Name "wrap"),
Core.fieldTerm = (Core.TermVariable (Core.Name "t"))}}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeUnit")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "input"))}))}))}))))])})),
Core.bindingTypeScheme = Nothing}],
Core.letBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.optionals.cases")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.maps.lookup")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fname"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "variantMap"))}))})),
Core.applicationArgument = (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.strings.cat")),
Core.applicationArgument = (Core.TermList [
Core.TermLiteral (Core.LiteralString "no such field "),
(Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.core.Name")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fname"))})),
(Core.TermLiteral (Core.LiteralString " in union"))])}))}))))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "f"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "f")),
Core.applicationArgument = (Core.TermVariable (Core.Name "fterm"))}))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.variants.TypeVariant")))]))}))}))]}