DatatypeStructure { mapping = ElmMapping { typeName = "HKTWithUnspecializedParams" , moduleName = Just "Codegen.SampleTypes" , encoderLocation = Just SymbolLocation { symbolName = "encodeHKTWithUnspecializedParams" , symbolModuleName = "Codegen.SampleTypes" } , decoderLocation = Just SymbolLocation { symbolName = "decodeHKTWithUnspecializedParams" , symbolModuleName = "Codegen.SampleTypes" } , args = [] , isTypeAlias = False , urlPiece = Nothing , queryParam = Nothing } , nParams = 2 , constructors = [ Constructor { constructorName = "HKTWithUnspecializedParams" , constructorFields = [ ( Nothing , TyRef { tyCon = TyMapping ElmMapping { typeName = "Either" , moduleName = Just "Codegen.Either" , encoderLocation = Just SymbolLocation { symbolName = "encodeEither" , symbolModuleName = "Codegen.Either" } , decoderLocation = Just SymbolLocation { symbolName = "decodeEither" , symbolModuleName = "Codegen.Either" } , args = [] , isTypeAlias = False , urlPiece = Nothing , queryParam = Nothing } , tyArgs = [ TyRef { tyCon = TyMapping ElmMapping { typeName = "Int" , moduleName = Nothing , encoderLocation = Just SymbolLocation { symbolName = "int" , symbolModuleName = "Json.Encode" } , decoderLocation = Just SymbolLocation { symbolName = "int" , symbolModuleName = "Json.Decode" } , args = [] , isTypeAlias = False , urlPiece = Nothing , queryParam = Nothing } , tyArgs = [] } , TyRef { tyCon = TyMapping ElmMapping { typeName = "Either" , moduleName = Just "Codegen.Either" , encoderLocation = Just SymbolLocation { symbolName = "encodeEither" , symbolModuleName = "Codegen.Either" } , decoderLocation = Just SymbolLocation { symbolName = "decodeEither" , symbolModuleName = "Codegen.Either" } , args = [] , isTypeAlias = False , urlPiece = Nothing , queryParam = Nothing } , tyArgs = [ TyRef { tyCon = TyMapping ElmMapping { typeName = "Int" , moduleName = Nothing , encoderLocation = Just SymbolLocation { symbolName = "int" , symbolModuleName = "Json.Encode" } , decoderLocation = Just SymbolLocation { symbolName = "int" , symbolModuleName = "Json.Decode" } , args = [] , isTypeAlias = False , urlPiece = Nothing , queryParam = Nothing } , tyArgs = [] } , TyRef { tyCon = TyMapping ElmMapping { typeName = "Either" , moduleName = Just "Codegen.Either" , encoderLocation = Just SymbolLocation { symbolName = "encodeEither" , symbolModuleName = "Codegen.Either" } , decoderLocation = Just SymbolLocation { symbolName = "decodeEither" , symbolModuleName = "Codegen.Either" } , args = [] , isTypeAlias = False , urlPiece = Nothing , queryParam = Nothing } , tyArgs = [ TyRef { tyCon = TyMapping ElmMapping { typeName = "Int" , moduleName = Nothing , encoderLocation = Just SymbolLocation { symbolName = "int" , symbolModuleName = "Json.Encode" } , decoderLocation = Just SymbolLocation { symbolName = "int" , symbolModuleName = "Json.Decode" } , args = [] , isTypeAlias = False , urlPiece = Nothing , queryParam = Nothing } , tyArgs = [] } , TyRef { tyCon = TyVar "a0" , tyArgs = [] } ] } ] } ] } ) , ( Nothing , TyRef { tyCon = TyVar "a1" , tyArgs = [] } ) ] } ] }