content: [
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "A",
        newtypeConstr = Name
          "@NsConstr"
          "A",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_A",
          fieldType = HsPrimType
            HsPrimCInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:3:9",
            declId = NamePair {
              nameC = Name "A",
              nameHsIdent = Identifier "A"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Macro
            CheckedMacroType {
              macroTypeNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "A",
                newtypeField = Name
                  "@NsVar"
                  "un_A"},
              macroType = TypePrim
                (PrimIntegral PrimInt Signed)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "A",
            commentLocation = Just
              "reparse.h:3:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "A",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "Some_struct",
        structConstr = Name
          "@NsConstr"
          "Some_struct",
        structFields = [],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc = "reparse.h:7:8",
              declId = NamePair {
                nameC = Name "some_struct",
                nameHsIdent = Identifier
                  "Some_struct"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["reparse.h"],
                  headerInclude = "reparse.h"},
              declComment = Nothing},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name
                    "@NsConstr"
                    "Some_struct"),
                structSizeof = 0,
                structAlignment = 1,
                structFields = [],
                structFlam = Nothing},
            declSpec = DeclSpec
              CTypeSpec {
                cTypeSpecModule = Nothing,
                cTypeSpecIdentifier = Nothing,
                cTypeSpecInstances =
                Map.fromList []}},
        structInstances = Set.fromList
          [Eq, Show, Storable],
        structComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "some_struct",
            commentLocation = Just
              "reparse.h:7:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Some_struct",
            structConstr = Name
              "@NsConstr"
              "Some_struct",
            structFields = [],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc = "reparse.h:7:8",
                  declId = NamePair {
                    nameC = Name "some_struct",
                    nameHsIdent = Identifier
                      "Some_struct"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["reparse.h"],
                      headerInclude = "reparse.h"},
                  declComment = Nothing},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name
                        "@NsConstr"
                        "Some_struct"),
                    structSizeof = 0,
                    structAlignment = 1,
                    structFields = [],
                    structFlam = Nothing},
                declSpec = DeclSpec
                  CTypeSpec {
                    cTypeSpecModule = Nothing,
                    cTypeSpecIdentifier = Nothing,
                    cTypeSpecInstances =
                    Map.fromList []}},
            structInstances = Set.fromList
              [Eq, Show, Storable],
            structComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "some_struct",
                commentLocation = Just
                  "reparse.h:7:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}}
          StorableInstance {
            storableSizeOf = 0,
            storableAlignment = 1,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Some_struct",
                    structConstr = Name
                      "@NsConstr"
                      "Some_struct",
                    structFields = [],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc = "reparse.h:7:8",
                          declId = NamePair {
                            nameC = Name "some_struct",
                            nameHsIdent = Identifier
                              "Some_struct"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["reparse.h"],
                              headerInclude = "reparse.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Some_struct"),
                            structSizeof = 0,
                            structAlignment = 1,
                            structFields = [],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Just
                          "some_struct",
                        commentLocation = Just
                          "reparse.h:7:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["reparse.h"],
                            headerInclude = "reparse.h"},
                        commentChildren = []}})
                []),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Some_struct",
                    structConstr = Name
                      "@NsConstr"
                      "Some_struct",
                    structFields = [],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc = "reparse.h:7:8",
                          declId = NamePair {
                            nameC = Name "some_struct",
                            nameHsIdent = Identifier
                              "Some_struct"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["reparse.h"],
                              headerInclude = "reparse.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Some_struct"),
                            structSizeof = 0,
                            structAlignment = 1,
                            structFields = [],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Just
                          "some_struct",
                        commentLocation = Just
                          "reparse.h:7:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["reparse.h"],
                            headerInclude = "reparse.h"},
                        commentChildren = []}}
                  (Add 0)
                  (Seq [])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Some_struct",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Some_struct",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Some_union",
        newtypeConstr = Name
          "@NsConstr"
          "Some_union",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Some_union",
          fieldType = HsByteArray,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:8:7",
            declId = NamePair {
              nameC = Name "some_union",
              nameHsIdent = Identifier
                "Some_union"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Union
            Union {
              unionNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Some_union",
                newtypeField = Name
                  "@NsVar"
                  "un_Some_union"},
              unionSizeof = 0,
              unionAlignment = 1,
              unionFields = []},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "some_union",
            commentLocation = Just
              "reparse.h:8:7",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveVia
          (HsSizedByteArray 0 1),
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Some_union",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Some_enum",
        newtypeConstr = Name
          "@NsConstr"
          "Some_enum",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Some_enum",
          fieldType = HsPrimType
            HsPrimCUInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:9:6",
            declId = NamePair {
              nameC = Name "some_enum",
              nameHsIdent = Identifier
                "Some_enum"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Enum
            Enum {
              enumNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Some_enum",
                newtypeField = Name
                  "@NsVar"
                  "un_Some_enum"},
              enumType = TypePrim
                (PrimIntegral PrimInt Unsigned),
              enumSizeof = 4,
              enumAlignment = 4,
              enumConstants = [
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc = "reparse.h:9:18",
                    fieldName = NamePair {
                      nameC = Name "ENUM_A",
                      nameHsIdent = Identifier
                        "ENUM_A"},
                    fieldComment = Nothing},
                  enumConstantValue = 0}]},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Read, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "some_enum",
            commentLocation = Just
              "reparse.h:9:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Some_enum",
            structConstr = Name
              "@NsConstr"
              "Some_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Some_enum",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = GeneratedField,
                fieldComment = Nothing}],
            structOrigin = Nothing,
            structInstances = Set.fromList
              [Eq, Ord, Read, Show, Storable],
            structComment = Nothing}
          StorableInstance {
            storableSizeOf = 4,
            storableAlignment = 4,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Some_enum",
                    structConstr = Name
                      "@NsConstr"
                      "Some_enum",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "un_Some_enum",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = GeneratedField,
                        fieldComment = Nothing}],
                    structOrigin = Nothing,
                    structInstances = Set.fromList
                      [Eq, Ord, Read, Show, Storable],
                    structComment = Nothing})
                [PeekByteOff (Idx 0) 0]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Some_enum",
                    structConstr = Name
                      "@NsConstr"
                      "Some_enum",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "un_Some_enum",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = GeneratedField,
                        fieldComment = Nothing}],
                    structOrigin = Nothing,
                    structInstances = Set.fromList
                      [Eq, Ord, Read, Show, Storable],
                    structComment = Nothing}
                  (Add 1)
                  (Seq
                    [
                      PokeByteOff
                        (Idx 2)
                        0
                        (Idx 0)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Some_enum",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Some_enum",
        deriveInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceCEnum
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Some_enum",
            structConstr = Name
              "@NsConstr"
              "Some_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Some_enum",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = GeneratedField,
                fieldComment = Nothing}],
            structOrigin = Nothing,
            structInstances = Set.fromList
              [Eq, Ord, Read, Show, Storable],
            structComment = Nothing}
          (HsPrimType HsPrimCUInt)
          (Map.fromList
            [
              _×_ 0 (NE.fromList ["ENUM_A"])])
          True,
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceSequentialCEnum
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Some_enum",
            structConstr = Name
              "@NsConstr"
              "Some_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Some_enum",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = GeneratedField,
                fieldComment = Nothing}],
            structOrigin = Nothing,
            structInstances = Set.fromList
              [Eq, Ord, Read, Show, Storable],
            structComment = Nothing}
          (Name "@NsConstr" "ENUM_A")
          (Name "@NsConstr" "ENUM_A"),
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceCEnumShow
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Some_enum",
            structConstr = Name
              "@NsConstr"
              "Some_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Some_enum",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = GeneratedField,
                fieldComment = Nothing}],
            structOrigin = Nothing,
            structInstances = Set.fromList
              [Eq, Ord, Read, Show, Storable],
            structComment = Nothing},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceCEnumRead
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Some_enum",
            structConstr = Name
              "@NsConstr"
              "Some_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Some_enum",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = GeneratedField,
                fieldComment = Nothing}],
            structOrigin = Nothing,
            structInstances = Set.fromList
              [Eq, Ord, Read, Show, Storable],
            structComment = Nothing},
        defineInstanceComment =
        Nothing},
    DeclPatSyn
      PatSyn {
        patSynName = Name
          "@NsConstr"
          "ENUM_A",
        patSynType = Name
          "@NsTypeConstr"
          "Some_enum",
        patSynConstr = Name
          "@NsConstr"
          "Some_enum",
        patSynValue = 0,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc = "reparse.h:9:18",
              fieldName = NamePair {
                nameC = Name "ENUM_A",
                nameHsIdent = Identifier
                  "ENUM_A"},
              fieldComment = Nothing},
            enumConstantValue = 0},
        patSynComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ENUM_A",
            commentLocation = Just
              "reparse.h:9:18",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Arr_typedef1",
        newtypeConstr = Name
          "@NsConstr"
          "Arr_typedef1",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Arr_typedef1",
          fieldType = HsIncompleteArray
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:109:13",
            declId = NamePair {
              nameC = Name "arr_typedef1",
              nameHsIdent = Identifier
                "Arr_typedef1"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Arr_typedef1",
                newtypeField = Name
                  "@NsVar"
                  "un_Arr_typedef1"},
              typedefType =
              TypeIncompleteArray
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Show],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_typedef1",
            commentLocation = Just
              "reparse.h:109:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Arr_typedef2",
        newtypeConstr = Name
          "@NsConstr"
          "Arr_typedef2",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Arr_typedef2",
          fieldType = HsIncompleteArray
            (HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A"))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:110:13",
            declId = NamePair {
              nameC = Name "arr_typedef2",
              nameHsIdent = Identifier
                "Arr_typedef2"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Arr_typedef2",
                newtypeField = Name
                  "@NsVar"
                  "un_Arr_typedef2"},
              typedefType =
              TypeIncompleteArray
                (TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Show],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_typedef2",
            commentLocation = Just
              "reparse.h:110:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Arr_typedef3",
        newtypeConstr = Name
          "@NsConstr"
          "Arr_typedef3",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Arr_typedef3",
          fieldType = HsConstArray
            5
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:111:13",
            declId = NamePair {
              nameC = Name "arr_typedef3",
              nameHsIdent = Identifier
                "Arr_typedef3"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Arr_typedef3",
                newtypeField = Name
                  "@NsVar"
                  "un_Arr_typedef3"},
              typedefType = TypeConstArray
                5
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_typedef3",
            commentLocation = Just
              "reparse.h:111:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Arr_typedef4",
        newtypeConstr = Name
          "@NsConstr"
          "Arr_typedef4",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Arr_typedef4",
          fieldType = HsConstArray
            5
            (HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A"))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:112:13",
            declId = NamePair {
              nameC = Name "arr_typedef4",
              nameHsIdent = Identifier
                "Arr_typedef4"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Arr_typedef4",
                newtypeField = Name
                  "@NsVar"
                  "un_Arr_typedef4"},
              typedefType = TypeConstArray
                5
                (TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_typedef4",
            commentLocation = Just
              "reparse.h:112:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Arr_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Typedef1",
        newtypeConstr = Name
          "@NsConstr"
          "Typedef1",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Typedef1",
          fieldType = HsTypRef
            (Name "@NsTypeConstr" "A"),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:118:14",
            declId = NamePair {
              nameC = Name "typedef1",
              nameHsIdent = Identifier
                "Typedef1"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [TextContent "Typedefs"]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Typedef1",
                newtypeField = Name
                  "@NsVar"
                  "un_Typedef1"},
              typedefType = TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [TextContent "Typedefs"],
            commentOrigin = Just "typedef1",
            commentLocation = Just
              "reparse.h:118:14",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Typedef2",
        newtypeConstr = Name
          "@NsConstr"
          "Typedef2",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Typedef2",
          fieldType = HsPtr
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:119:14",
            declId = NamePair {
              nameC = Name "typedef2",
              nameHsIdent = Identifier
                "Typedef2"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Typedef2",
                newtypeField = Name
                  "@NsVar"
                  "un_Typedef2"},
              typedefType = TypePointer
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "typedef2",
            commentLocation = Just
              "reparse.h:119:14",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Typedef3",
        newtypeConstr = Name
          "@NsConstr"
          "Typedef3",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Typedef3",
          fieldType = HsPtr
            (HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A"))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:120:14",
            declId = NamePair {
              nameC = Name "typedef3",
              nameHsIdent = Identifier
                "Typedef3"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Typedef3",
                newtypeField = Name
                  "@NsVar"
                  "un_Typedef3"},
              typedefType = TypePointer
                (TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "typedef3",
            commentLocation = Just
              "reparse.h:120:14",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef1_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef1_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef1_Deref",
          fieldType = HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:132:16",
            declId = NamePair {
              nameC = Name
                "funptr_typedef1_Deref",
              nameHsIdent = Identifier
                "Funptr_typedef1_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:132:16"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "funptr_typedef1",
                            nameHsIdent = Identifier
                              "Funptr_typedef1"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef1_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef1_Deref"},
              typedefType = TypeFun
                []
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Funptr_typedef1"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:132:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toFunptr_typedef1_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef1_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef1_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            []
            (TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromFunptr_typedef1_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef1_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Funptr_typedef1_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            []
            (TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef1_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toFunptr_typedef1_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef1_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromFunptr_typedef1_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef1",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef1",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef1",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef1_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:132:16",
            declId = NamePair {
              nameC = Name "funptr_typedef1",
              nameHsIdent = Identifier
                "Funptr_typedef1"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef1",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef1"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "funptr_typedef1_Deref",
                      nameHsIdent = Identifier
                        "Funptr_typedef1_Deref"}
                    (TypeFun
                      []
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_typedef1",
            commentLocation = Just
              "reparse.h:132:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef2_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef2_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef2_Deref",
          fieldType = HsIO
            (HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A"))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:133:16",
            declId = NamePair {
              nameC = Name
                "funptr_typedef2_Deref",
              nameHsIdent = Identifier
                "Funptr_typedef2_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:133:16"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "funptr_typedef2",
                            nameHsIdent = Identifier
                              "Funptr_typedef2"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef2_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef2_Deref"},
              typedefType = TypeFun
                []
                (TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Funptr_typedef2"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:133:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toFunptr_typedef2_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef2_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef2_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            []
            (TypePointer
              (TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromFunptr_typedef2_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef2_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Funptr_typedef2_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            []
            (TypePointer
              (TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef2_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toFunptr_typedef2_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef2_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromFunptr_typedef2_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef2",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef2",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef2",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef2_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:133:16",
            declId = NamePair {
              nameC = Name "funptr_typedef2",
              nameHsIdent = Identifier
                "Funptr_typedef2"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef2",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef2"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "funptr_typedef2_Deref",
                      nameHsIdent = Identifier
                        "Funptr_typedef2_Deref"}
                    (TypeFun
                      []
                      (TypePointer
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_typedef2",
            commentLocation = Just
              "reparse.h:133:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef3_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef3_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef3_Deref",
          fieldType = HsIO
            (HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A")))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:134:16",
            declId = NamePair {
              nameC = Name
                "funptr_typedef3_Deref",
              nameHsIdent = Identifier
                "Funptr_typedef3_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:134:16"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "funptr_typedef3",
                            nameHsIdent = Identifier
                              "Funptr_typedef3"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef3_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef3_Deref"},
              typedefType = TypeFun
                []
                (TypePointer
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Funptr_typedef3"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:134:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toFunptr_typedef3_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef3_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef3_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            []
            (TypePointer
              (TypePointer
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromFunptr_typedef3_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef3_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Funptr_typedef3_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            []
            (TypePointer
              (TypePointer
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef3_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toFunptr_typedef3_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef3_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromFunptr_typedef3_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef3",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef3",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef3",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef3_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:134:16",
            declId = NamePair {
              nameC = Name "funptr_typedef3",
              nameHsIdent = Identifier
                "Funptr_typedef3"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef3",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef3"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "funptr_typedef3_Deref",
                      nameHsIdent = Identifier
                        "Funptr_typedef3_Deref"}
                    (TypeFun
                      []
                      (TypePointer
                        (TypePointer
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource))))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_typedef3",
            commentLocation = Just
              "reparse.h:134:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef4_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef4_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef4_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsTypRef
                  (Name "@NsTypeConstr" "A")))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:135:16",
            declId = NamePair {
              nameC = Name
                "funptr_typedef4_Deref",
              nameHsIdent = Identifier
                "Funptr_typedef4_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:135:16"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "funptr_typedef4",
                            nameHsIdent = Identifier
                              "Funptr_typedef4"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef4_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef4_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Funptr_typedef4"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:135:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toFunptr_typedef4_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef4_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef4_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromFunptr_typedef4_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef4_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Funptr_typedef4_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef4_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toFunptr_typedef4_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef4_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromFunptr_typedef4_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef4",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef4",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef4",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef4_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:135:16",
            declId = NamePair {
              nameC = Name "funptr_typedef4",
              nameHsIdent = Identifier
                "Funptr_typedef4"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef4",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef4"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "funptr_typedef4_Deref",
                      nameHsIdent = Identifier
                        "Funptr_typedef4_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_typedef4",
            commentLocation = Just
              "reparse.h:135:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef5_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef5_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef5_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A"))))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:136:16",
            declId = NamePair {
              nameC = Name
                "funptr_typedef5_Deref",
              nameHsIdent = Identifier
                "Funptr_typedef5_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:136:16"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "funptr_typedef5",
                            nameHsIdent = Identifier
                              "Funptr_typedef5"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef5_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef5_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Funptr_typedef5"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:136:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toFunptr_typedef5_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef5_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef5_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypePointer
              (TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromFunptr_typedef5_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Funptr_typedef5_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Funptr_typedef5_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypePointer
              (TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef5_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toFunptr_typedef5_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef5_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromFunptr_typedef5_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Funptr_typedef5",
        newtypeConstr = Name
          "@NsConstr"
          "Funptr_typedef5",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Funptr_typedef5",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Funptr_typedef5_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:136:16",
            declId = NamePair {
              nameC = Name "funptr_typedef5",
              nameHsIdent = Identifier
                "Funptr_typedef5"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Funptr_typedef5",
                newtypeField = Name
                  "@NsVar"
                  "un_Funptr_typedef5"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "funptr_typedef5_Deref",
                      nameHsIdent = Identifier
                        "Funptr_typedef5_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypePointer
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_typedef5",
            commentLocation = Just
              "reparse.h:136:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Funptr_typedef5",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Comments2",
        newtypeConstr = Name
          "@NsConstr"
          "Comments2",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Comments2",
          fieldType = HsTypRef
            (Name "@NsTypeConstr" "A"),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:145:30",
            declId = NamePair {
              nameC = Name "comments2",
              nameHsIdent = Identifier
                "Comments2"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Comments2",
                newtypeField = Name
                  "@NsVar"
                  "un_Comments2"},
              typedefType = TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "comments2",
            commentLocation = Just
              "reparse.h:145:30",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Comments2",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "Example_struct",
        structConstr = Name
          "@NsConstr"
          "Example_struct",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_field1",
            fieldType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:152:8",
                  fieldName = NamePair {
                    nameC = Name "field1",
                    nameHsIdent = Identifier
                      "example_struct_field1"},
                  fieldComment = Nothing},
                structFieldType =
                TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource,
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "field1",
                commentLocation = Just
                  "reparse.h:152:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_field2",
            fieldType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:153:8",
                  fieldName = NamePair {
                    nameC = Name "field2",
                    nameHsIdent = Identifier
                      "example_struct_field2"},
                  fieldComment = Nothing},
                structFieldType = TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource),
                structFieldOffset = 64,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "field2",
                commentLocation = Just
                  "reparse.h:153:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_field3",
            fieldType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:154:8",
                  fieldName = NamePair {
                    nameC = Name "field3",
                    nameHsIdent = Identifier
                      "example_struct_field3"},
                  fieldComment = Nothing},
                structFieldType = TypePointer
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)),
                structFieldOffset = 128,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "field3",
                commentLocation = Just
                  "reparse.h:154:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc = "reparse.h:151:8",
              declId = NamePair {
                nameC = Name "example_struct",
                nameHsIdent = Identifier
                  "Example_struct"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["reparse.h"],
                  headerInclude = "reparse.h"},
              declComment = Just
                (Comment
                  [
                    Paragraph
                      [
                        TextContent "Struct fields"]])},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name
                    "@NsConstr"
                    "Example_struct"),
                structSizeof = 24,
                structAlignment = 8,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:152:8",
                      fieldName = NamePair {
                        nameC = Name "field1",
                        nameHsIdent = Identifier
                          "example_struct_field1"},
                      fieldComment = Nothing},
                    structFieldType =
                    TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource,
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:153:8",
                      fieldName = NamePair {
                        nameC = Name "field2",
                        nameHsIdent = Identifier
                          "example_struct_field2"},
                      fieldComment = Nothing},
                    structFieldType = TypePointer
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource),
                    structFieldOffset = 64,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:154:8",
                      fieldName = NamePair {
                        nameC = Name "field3",
                        nameHsIdent = Identifier
                          "example_struct_field3"},
                      fieldComment = Nothing},
                    structFieldType = TypePointer
                      (TypePointer
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)),
                    structFieldOffset = 128,
                    structFieldWidth = Nothing}],
                structFlam = Nothing},
            declSpec = DeclSpec
              CTypeSpec {
                cTypeSpecModule = Nothing,
                cTypeSpecIdentifier = Nothing,
                cTypeSpecInstances =
                Map.fromList []}},
        structInstances = Set.fromList
          [Eq, Show, Storable],
        structComment = Just
          Comment {
            commentTitle = Just
              [TextContent "Struct fields"],
            commentOrigin = Just
              "example_struct",
            commentLocation = Just
              "reparse.h:151:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Example_struct",
            structConstr = Name
              "@NsConstr"
              "Example_struct",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_field1",
                fieldType = HsTypRef
                  (Name "@NsTypeConstr" "A"),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:152:8",
                      fieldName = NamePair {
                        nameC = Name "field1",
                        nameHsIdent = Identifier
                          "example_struct_field1"},
                      fieldComment = Nothing},
                    structFieldType =
                    TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource,
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "field1",
                    commentLocation = Just
                      "reparse.h:152:8",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_field2",
                fieldType = HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:153:8",
                      fieldName = NamePair {
                        nameC = Name "field2",
                        nameHsIdent = Identifier
                          "example_struct_field2"},
                      fieldComment = Nothing},
                    structFieldType = TypePointer
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource),
                    structFieldOffset = 64,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "field2",
                    commentLocation = Just
                      "reparse.h:153:8",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_field3",
                fieldType = HsPtr
                  (HsPtr
                    (HsTypRef
                      (Name "@NsTypeConstr" "A"))),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:154:8",
                      fieldName = NamePair {
                        nameC = Name "field3",
                        nameHsIdent = Identifier
                          "example_struct_field3"},
                      fieldComment = Nothing},
                    structFieldType = TypePointer
                      (TypePointer
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)),
                    structFieldOffset = 128,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "field3",
                    commentLocation = Just
                      "reparse.h:154:8",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc = "reparse.h:151:8",
                  declId = NamePair {
                    nameC = Name "example_struct",
                    nameHsIdent = Identifier
                      "Example_struct"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["reparse.h"],
                      headerInclude = "reparse.h"},
                  declComment = Just
                    (Comment
                      [
                        Paragraph
                          [
                            TextContent "Struct fields"]])},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name
                        "@NsConstr"
                        "Example_struct"),
                    structSizeof = 24,
                    structAlignment = 8,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:152:8",
                          fieldName = NamePair {
                            nameC = Name "field1",
                            nameHsIdent = Identifier
                              "example_struct_field1"},
                          fieldComment = Nothing},
                        structFieldType =
                        TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource,
                        structFieldOffset = 0,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:153:8",
                          fieldName = NamePair {
                            nameC = Name "field2",
                            nameHsIdent = Identifier
                              "example_struct_field2"},
                          fieldComment = Nothing},
                        structFieldType = TypePointer
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource),
                        structFieldOffset = 64,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:154:8",
                          fieldName = NamePair {
                            nameC = Name "field3",
                            nameHsIdent = Identifier
                              "example_struct_field3"},
                          fieldComment = Nothing},
                        structFieldType = TypePointer
                          (TypePointer
                            (TypeMacroTypedef
                              NamePair {
                                nameC = Name "A",
                                nameHsIdent = Identifier "A"}
                              NameOriginInSource)),
                        structFieldOffset = 128,
                        structFieldWidth = Nothing}],
                    structFlam = Nothing},
                declSpec = DeclSpec
                  CTypeSpec {
                    cTypeSpecModule = Nothing,
                    cTypeSpecIdentifier = Nothing,
                    cTypeSpecInstances =
                    Map.fromList []}},
            structInstances = Set.fromList
              [Eq, Show, Storable],
            structComment = Just
              Comment {
                commentTitle = Just
                  [TextContent "Struct fields"],
                commentOrigin = Just
                  "example_struct",
                commentLocation = Just
                  "reparse.h:151:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}}
          StorableInstance {
            storableSizeOf = 24,
            storableAlignment = 8,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Example_struct",
                    structConstr = Name
                      "@NsConstr"
                      "Example_struct",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_field1",
                        fieldType = HsTypRef
                          (Name "@NsTypeConstr" "A"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:152:8",
                              fieldName = NamePair {
                                nameC = Name "field1",
                                nameHsIdent = Identifier
                                  "example_struct_field1"},
                              fieldComment = Nothing},
                            structFieldType =
                            TypeMacroTypedef
                              NamePair {
                                nameC = Name "A",
                                nameHsIdent = Identifier "A"}
                              NameOriginInSource,
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "field1",
                            commentLocation = Just
                              "reparse.h:152:8",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_field2",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:153:8",
                              fieldName = NamePair {
                                nameC = Name "field2",
                                nameHsIdent = Identifier
                                  "example_struct_field2"},
                              fieldComment = Nothing},
                            structFieldType = TypePointer
                              (TypeMacroTypedef
                                NamePair {
                                  nameC = Name "A",
                                  nameHsIdent = Identifier "A"}
                                NameOriginInSource),
                            structFieldOffset = 64,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "field2",
                            commentLocation = Just
                              "reparse.h:153:8",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_field3",
                        fieldType = HsPtr
                          (HsPtr
                            (HsTypRef
                              (Name "@NsTypeConstr" "A"))),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:154:8",
                              fieldName = NamePair {
                                nameC = Name "field3",
                                nameHsIdent = Identifier
                                  "example_struct_field3"},
                              fieldComment = Nothing},
                            structFieldType = TypePointer
                              (TypePointer
                                (TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource)),
                            structFieldOffset = 128,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "field3",
                            commentLocation = Just
                              "reparse.h:154:8",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc = "reparse.h:151:8",
                          declId = NamePair {
                            nameC = Name "example_struct",
                            nameHsIdent = Identifier
                              "Example_struct"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["reparse.h"],
                              headerInclude = "reparse.h"},
                          declComment = Just
                            (Comment
                              [
                                Paragraph
                                  [
                                    TextContent "Struct fields"]])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Example_struct"),
                            structSizeof = 24,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:152:8",
                                  fieldName = NamePair {
                                    nameC = Name "field1",
                                    nameHsIdent = Identifier
                                      "example_struct_field1"},
                                  fieldComment = Nothing},
                                structFieldType =
                                TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource,
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:153:8",
                                  fieldName = NamePair {
                                    nameC = Name "field2",
                                    nameHsIdent = Identifier
                                      "example_struct_field2"},
                                  fieldComment = Nothing},
                                structFieldType = TypePointer
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource),
                                structFieldOffset = 64,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:154:8",
                                  fieldName = NamePair {
                                    nameC = Name "field3",
                                    nameHsIdent = Identifier
                                      "example_struct_field3"},
                                  fieldComment = Nothing},
                                structFieldType = TypePointer
                                  (TypePointer
                                    (TypeMacroTypedef
                                      NamePair {
                                        nameC = Name "A",
                                        nameHsIdent = Identifier "A"}
                                      NameOriginInSource)),
                                structFieldOffset = 128,
                                structFieldWidth = Nothing}],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Just
                          [TextContent "Struct fields"],
                        commentOrigin = Just
                          "example_struct",
                        commentLocation = Just
                          "reparse.h:151:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["reparse.h"],
                            headerInclude = "reparse.h"},
                        commentChildren = []}})
                [
                  PeekByteOff (Idx 0) 0,
                  PeekByteOff (Idx 0) 8,
                  PeekByteOff (Idx 0) 16]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Example_struct",
                    structConstr = Name
                      "@NsConstr"
                      "Example_struct",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_field1",
                        fieldType = HsTypRef
                          (Name "@NsTypeConstr" "A"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:152:8",
                              fieldName = NamePair {
                                nameC = Name "field1",
                                nameHsIdent = Identifier
                                  "example_struct_field1"},
                              fieldComment = Nothing},
                            structFieldType =
                            TypeMacroTypedef
                              NamePair {
                                nameC = Name "A",
                                nameHsIdent = Identifier "A"}
                              NameOriginInSource,
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "field1",
                            commentLocation = Just
                              "reparse.h:152:8",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_field2",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:153:8",
                              fieldName = NamePair {
                                nameC = Name "field2",
                                nameHsIdent = Identifier
                                  "example_struct_field2"},
                              fieldComment = Nothing},
                            structFieldType = TypePointer
                              (TypeMacroTypedef
                                NamePair {
                                  nameC = Name "A",
                                  nameHsIdent = Identifier "A"}
                                NameOriginInSource),
                            structFieldOffset = 64,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "field2",
                            commentLocation = Just
                              "reparse.h:153:8",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_field3",
                        fieldType = HsPtr
                          (HsPtr
                            (HsTypRef
                              (Name "@NsTypeConstr" "A"))),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:154:8",
                              fieldName = NamePair {
                                nameC = Name "field3",
                                nameHsIdent = Identifier
                                  "example_struct_field3"},
                              fieldComment = Nothing},
                            structFieldType = TypePointer
                              (TypePointer
                                (TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource)),
                            structFieldOffset = 128,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "field3",
                            commentLocation = Just
                              "reparse.h:154:8",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc = "reparse.h:151:8",
                          declId = NamePair {
                            nameC = Name "example_struct",
                            nameHsIdent = Identifier
                              "Example_struct"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["reparse.h"],
                              headerInclude = "reparse.h"},
                          declComment = Just
                            (Comment
                              [
                                Paragraph
                                  [
                                    TextContent "Struct fields"]])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Example_struct"),
                            structSizeof = 24,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:152:8",
                                  fieldName = NamePair {
                                    nameC = Name "field1",
                                    nameHsIdent = Identifier
                                      "example_struct_field1"},
                                  fieldComment = Nothing},
                                structFieldType =
                                TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource,
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:153:8",
                                  fieldName = NamePair {
                                    nameC = Name "field2",
                                    nameHsIdent = Identifier
                                      "example_struct_field2"},
                                  fieldComment = Nothing},
                                structFieldType = TypePointer
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource),
                                structFieldOffset = 64,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:154:8",
                                  fieldName = NamePair {
                                    nameC = Name "field3",
                                    nameHsIdent = Identifier
                                      "example_struct_field3"},
                                  fieldComment = Nothing},
                                structFieldType = TypePointer
                                  (TypePointer
                                    (TypeMacroTypedef
                                      NamePair {
                                        nameC = Name "A",
                                        nameHsIdent = Identifier "A"}
                                      NameOriginInSource)),
                                structFieldOffset = 128,
                                structFieldWidth = Nothing}],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Just
                          [TextContent "Struct fields"],
                        commentOrigin = Just
                          "example_struct",
                        commentLocation = Just
                          "reparse.h:151:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["reparse.h"],
                            headerInclude = "reparse.h"},
                        commentChildren = []}}
                  (Add 3)
                  (Seq
                    [
                      PokeByteOff (Idx 4) 0 (Idx 0),
                      PokeByteOff (Idx 4) 8 (Idx 1),
                      PokeByteOff
                        (Idx 4)
                        16
                        (Idx 2)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Example_struct",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Example_struct",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        newtypeConstr = Name
          "@NsConstr"
          "Const_typedef1",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_typedef1",
          fieldType = HsTypRef
            (Name "@NsTypeConstr" "A"),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:220:25",
            declId = NamePair {
              nameC = Name "const_typedef1",
              nameHsIdent = Identifier
                "Const_typedef1"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_typedef1",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_typedef1"},
              typedefType = TypeQualified
                TypeQualifierConst
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_typedef1",
            commentLocation = Just
              "reparse.h:220:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef1",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        newtypeConstr = Name
          "@NsConstr"
          "Const_typedef2",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_typedef2",
          fieldType = HsTypRef
            (Name "@NsTypeConstr" "A"),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:221:25",
            declId = NamePair {
              nameC = Name "const_typedef2",
              nameHsIdent = Identifier
                "Const_typedef2"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_typedef2",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_typedef2"},
              typedefType = TypeQualified
                TypeQualifierConst
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_typedef2",
            commentLocation = Just
              "reparse.h:221:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef2",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_typedef3",
        newtypeConstr = Name
          "@NsConstr"
          "Const_typedef3",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_typedef3",
          fieldType = HsPtr
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:222:25",
            declId = NamePair {
              nameC = Name "const_typedef3",
              nameHsIdent = Identifier
                "Const_typedef3"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_typedef3",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_typedef3"},
              typedefType = TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_typedef3",
            commentLocation = Just
              "reparse.h:222:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef3",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_typedef4",
        newtypeConstr = Name
          "@NsConstr"
          "Const_typedef4",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_typedef4",
          fieldType = HsPtr
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:223:25",
            declId = NamePair {
              nameC = Name "const_typedef4",
              nameHsIdent = Identifier
                "Const_typedef4"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_typedef4",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_typedef4"},
              typedefType = TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_typedef4",
            commentLocation = Just
              "reparse.h:223:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef4",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_typedef5",
        newtypeConstr = Name
          "@NsConstr"
          "Const_typedef5",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_typedef5",
          fieldType = HsPtr
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:224:25",
            declId = NamePair {
              nameC = Name "const_typedef5",
              nameHsIdent = Identifier
                "Const_typedef5"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_typedef5",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_typedef5"},
              typedefType = TypeQualified
                TypeQualifierConst
                (TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_typedef5",
            commentLocation = Just
              "reparse.h:224:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef5",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_typedef6",
        newtypeConstr = Name
          "@NsConstr"
          "Const_typedef6",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_typedef6",
          fieldType = HsPtr
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:225:25",
            declId = NamePair {
              nameC = Name "const_typedef6",
              nameHsIdent = Identifier
                "Const_typedef6"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_typedef6",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_typedef6"},
              typedefType = TypeQualified
                TypeQualifierConst
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_typedef6",
            commentLocation = Just
              "reparse.h:225:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef6",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef6",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef6",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef6",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_typedef7",
        newtypeConstr = Name
          "@NsConstr"
          "Const_typedef7",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_typedef7",
          fieldType = HsPtr
            (HsTypRef
              (Name "@NsTypeConstr" "A")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:226:25",
            declId = NamePair {
              nameC = Name "const_typedef7",
              nameHsIdent = Identifier
                "Const_typedef7"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_typedef7",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_typedef7"},
              typedefType = TypeQualified
                TypeQualifierConst
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_typedef7",
            commentLocation = Just
              "reparse.h:226:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef7",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef7",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef7",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_typedef7",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "Example_struct_with_const",
        structConstr = Name
          "@NsConstr"
          "Example_struct_with_const",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_with_const_const_field1",
            fieldType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:229:19",
                  fieldName = NamePair {
                    nameC = Name "const_field1",
                    nameHsIdent = Identifier
                      "example_struct_with_const_const_field1"},
                  fieldComment = Nothing},
                structFieldType = TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource),
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "const_field1",
                commentLocation = Just
                  "reparse.h:229:19",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_with_const_const_field2",
            fieldType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:230:19",
                  fieldName = NamePair {
                    nameC = Name "const_field2",
                    nameHsIdent = Identifier
                      "example_struct_with_const_const_field2"},
                  fieldComment = Nothing},
                structFieldType = TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource),
                structFieldOffset = 32,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "const_field2",
                commentLocation = Just
                  "reparse.h:230:19",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_with_const_const_field3",
            fieldType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:231:19",
                  fieldName = NamePair {
                    nameC = Name "const_field3",
                    nameHsIdent = Identifier
                      "example_struct_with_const_const_field3"},
                  fieldComment = Nothing},
                structFieldType = TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)),
                structFieldOffset = 64,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "const_field3",
                commentLocation = Just
                  "reparse.h:231:19",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_with_const_const_field4",
            fieldType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:232:19",
                  fieldName = NamePair {
                    nameC = Name "const_field4",
                    nameHsIdent = Identifier
                      "example_struct_with_const_const_field4"},
                  fieldComment = Nothing},
                structFieldType = TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)),
                structFieldOffset = 128,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "const_field4",
                commentLocation = Just
                  "reparse.h:232:19",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_with_const_const_field5",
            fieldType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:233:19",
                  fieldName = NamePair {
                    nameC = Name "const_field5",
                    nameHsIdent = Identifier
                      "example_struct_with_const_const_field5"},
                  fieldComment = Nothing},
                structFieldType = TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)),
                structFieldOffset = 192,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "const_field5",
                commentLocation = Just
                  "reparse.h:233:19",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_with_const_const_field6",
            fieldType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:234:19",
                  fieldName = NamePair {
                    nameC = Name "const_field6",
                    nameHsIdent = Identifier
                      "example_struct_with_const_const_field6"},
                  fieldComment = Nothing},
                structFieldType = TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))),
                structFieldOffset = 256,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "const_field6",
                commentLocation = Just
                  "reparse.h:234:19",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "example_struct_with_const_const_field7",
            fieldType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc = "reparse.h:235:19",
                  fieldName = NamePair {
                    nameC = Name "const_field7",
                    nameHsIdent = Identifier
                      "example_struct_with_const_const_field7"},
                  fieldComment = Nothing},
                structFieldType = TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))),
                structFieldOffset = 320,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "const_field7",
                commentLocation = Just
                  "reparse.h:235:19",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc = "reparse.h:228:8",
              declId = NamePair {
                nameC = Name
                  "example_struct_with_const",
                nameHsIdent = Identifier
                  "Example_struct_with_const"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["reparse.h"],
                  headerInclude = "reparse.h"},
              declComment = Nothing},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name
                    "@NsConstr"
                    "Example_struct_with_const"),
                structSizeof = 48,
                structAlignment = 8,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:229:19",
                      fieldName = NamePair {
                        nameC = Name "const_field1",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field1"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource),
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:230:19",
                      fieldName = NamePair {
                        nameC = Name "const_field2",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field2"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource),
                    structFieldOffset = 32,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:231:19",
                      fieldName = NamePair {
                        nameC = Name "const_field3",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field3"},
                      fieldComment = Nothing},
                    structFieldType = TypePointer
                      (TypeQualified
                        TypeQualifierConst
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)),
                    structFieldOffset = 64,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:232:19",
                      fieldName = NamePair {
                        nameC = Name "const_field4",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field4"},
                      fieldComment = Nothing},
                    structFieldType = TypePointer
                      (TypeQualified
                        TypeQualifierConst
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)),
                    structFieldOffset = 128,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:233:19",
                      fieldName = NamePair {
                        nameC = Name "const_field5",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field5"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypePointer
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)),
                    structFieldOffset = 192,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:234:19",
                      fieldName = NamePair {
                        nameC = Name "const_field6",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field6"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypePointer
                        (TypeQualified
                          TypeQualifierConst
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource))),
                    structFieldOffset = 256,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:235:19",
                      fieldName = NamePair {
                        nameC = Name "const_field7",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field7"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypePointer
                        (TypeQualified
                          TypeQualifierConst
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource))),
                    structFieldOffset = 320,
                    structFieldWidth = Nothing}],
                structFlam = Nothing},
            declSpec = DeclSpec
              CTypeSpec {
                cTypeSpecModule = Nothing,
                cTypeSpecIdentifier = Nothing,
                cTypeSpecInstances =
                Map.fromList []}},
        structInstances = Set.fromList
          [Eq, Show, Storable],
        structComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "example_struct_with_const",
            commentLocation = Just
              "reparse.h:228:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Example_struct_with_const",
            structConstr = Name
              "@NsConstr"
              "Example_struct_with_const",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_with_const_const_field1",
                fieldType = HsTypRef
                  (Name "@NsTypeConstr" "A"),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:229:19",
                      fieldName = NamePair {
                        nameC = Name "const_field1",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field1"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource),
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "const_field1",
                    commentLocation = Just
                      "reparse.h:229:19",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_with_const_const_field2",
                fieldType = HsTypRef
                  (Name "@NsTypeConstr" "A"),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:230:19",
                      fieldName = NamePair {
                        nameC = Name "const_field2",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field2"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource),
                    structFieldOffset = 32,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "const_field2",
                    commentLocation = Just
                      "reparse.h:230:19",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_with_const_const_field3",
                fieldType = HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:231:19",
                      fieldName = NamePair {
                        nameC = Name "const_field3",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field3"},
                      fieldComment = Nothing},
                    structFieldType = TypePointer
                      (TypeQualified
                        TypeQualifierConst
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)),
                    structFieldOffset = 64,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "const_field3",
                    commentLocation = Just
                      "reparse.h:231:19",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_with_const_const_field4",
                fieldType = HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:232:19",
                      fieldName = NamePair {
                        nameC = Name "const_field4",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field4"},
                      fieldComment = Nothing},
                    structFieldType = TypePointer
                      (TypeQualified
                        TypeQualifierConst
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)),
                    structFieldOffset = 128,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "const_field4",
                    commentLocation = Just
                      "reparse.h:232:19",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_with_const_const_field5",
                fieldType = HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:233:19",
                      fieldName = NamePair {
                        nameC = Name "const_field5",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field5"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypePointer
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)),
                    structFieldOffset = 192,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "const_field5",
                    commentLocation = Just
                      "reparse.h:233:19",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_with_const_const_field6",
                fieldType = HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:234:19",
                      fieldName = NamePair {
                        nameC = Name "const_field6",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field6"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypePointer
                        (TypeQualified
                          TypeQualifierConst
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource))),
                    structFieldOffset = 256,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "const_field6",
                    commentLocation = Just
                      "reparse.h:234:19",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "example_struct_with_const_const_field7",
                fieldType = HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc = "reparse.h:235:19",
                      fieldName = NamePair {
                        nameC = Name "const_field7",
                        nameHsIdent = Identifier
                          "example_struct_with_const_const_field7"},
                      fieldComment = Nothing},
                    structFieldType = TypeQualified
                      TypeQualifierConst
                      (TypePointer
                        (TypeQualified
                          TypeQualifierConst
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource))),
                    structFieldOffset = 320,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "const_field7",
                    commentLocation = Just
                      "reparse.h:235:19",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["reparse.h"],
                        headerInclude = "reparse.h"},
                    commentChildren = []}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc = "reparse.h:228:8",
                  declId = NamePair {
                    nameC = Name
                      "example_struct_with_const",
                    nameHsIdent = Identifier
                      "Example_struct_with_const"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["reparse.h"],
                      headerInclude = "reparse.h"},
                  declComment = Nothing},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name
                        "@NsConstr"
                        "Example_struct_with_const"),
                    structSizeof = 48,
                    structAlignment = 8,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:229:19",
                          fieldName = NamePair {
                            nameC = Name "const_field1",
                            nameHsIdent = Identifier
                              "example_struct_with_const_const_field1"},
                          fieldComment = Nothing},
                        structFieldType = TypeQualified
                          TypeQualifierConst
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource),
                        structFieldOffset = 0,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:230:19",
                          fieldName = NamePair {
                            nameC = Name "const_field2",
                            nameHsIdent = Identifier
                              "example_struct_with_const_const_field2"},
                          fieldComment = Nothing},
                        structFieldType = TypeQualified
                          TypeQualifierConst
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource),
                        structFieldOffset = 32,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:231:19",
                          fieldName = NamePair {
                            nameC = Name "const_field3",
                            nameHsIdent = Identifier
                              "example_struct_with_const_const_field3"},
                          fieldComment = Nothing},
                        structFieldType = TypePointer
                          (TypeQualified
                            TypeQualifierConst
                            (TypeMacroTypedef
                              NamePair {
                                nameC = Name "A",
                                nameHsIdent = Identifier "A"}
                              NameOriginInSource)),
                        structFieldOffset = 64,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:232:19",
                          fieldName = NamePair {
                            nameC = Name "const_field4",
                            nameHsIdent = Identifier
                              "example_struct_with_const_const_field4"},
                          fieldComment = Nothing},
                        structFieldType = TypePointer
                          (TypeQualified
                            TypeQualifierConst
                            (TypeMacroTypedef
                              NamePair {
                                nameC = Name "A",
                                nameHsIdent = Identifier "A"}
                              NameOriginInSource)),
                        structFieldOffset = 128,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:233:19",
                          fieldName = NamePair {
                            nameC = Name "const_field5",
                            nameHsIdent = Identifier
                              "example_struct_with_const_const_field5"},
                          fieldComment = Nothing},
                        structFieldType = TypeQualified
                          TypeQualifierConst
                          (TypePointer
                            (TypeMacroTypedef
                              NamePair {
                                nameC = Name "A",
                                nameHsIdent = Identifier "A"}
                              NameOriginInSource)),
                        structFieldOffset = 192,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:234:19",
                          fieldName = NamePair {
                            nameC = Name "const_field6",
                            nameHsIdent = Identifier
                              "example_struct_with_const_const_field6"},
                          fieldComment = Nothing},
                        structFieldType = TypeQualified
                          TypeQualifierConst
                          (TypePointer
                            (TypeQualified
                              TypeQualifierConst
                              (TypeMacroTypedef
                                NamePair {
                                  nameC = Name "A",
                                  nameHsIdent = Identifier "A"}
                                NameOriginInSource))),
                        structFieldOffset = 256,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc = "reparse.h:235:19",
                          fieldName = NamePair {
                            nameC = Name "const_field7",
                            nameHsIdent = Identifier
                              "example_struct_with_const_const_field7"},
                          fieldComment = Nothing},
                        structFieldType = TypeQualified
                          TypeQualifierConst
                          (TypePointer
                            (TypeQualified
                              TypeQualifierConst
                              (TypeMacroTypedef
                                NamePair {
                                  nameC = Name "A",
                                  nameHsIdent = Identifier "A"}
                                NameOriginInSource))),
                        structFieldOffset = 320,
                        structFieldWidth = Nothing}],
                    structFlam = Nothing},
                declSpec = DeclSpec
                  CTypeSpec {
                    cTypeSpecModule = Nothing,
                    cTypeSpecIdentifier = Nothing,
                    cTypeSpecInstances =
                    Map.fromList []}},
            structInstances = Set.fromList
              [Eq, Show, Storable],
            structComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "example_struct_with_const",
                commentLocation = Just
                  "reparse.h:228:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["reparse.h"],
                    headerInclude = "reparse.h"},
                commentChildren = []}}
          StorableInstance {
            storableSizeOf = 48,
            storableAlignment = 8,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Example_struct_with_const",
                    structConstr = Name
                      "@NsConstr"
                      "Example_struct_with_const",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field1",
                        fieldType = HsTypRef
                          (Name "@NsTypeConstr" "A"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:229:19",
                              fieldName = NamePair {
                                nameC = Name "const_field1",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field1"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypeMacroTypedef
                                NamePair {
                                  nameC = Name "A",
                                  nameHsIdent = Identifier "A"}
                                NameOriginInSource),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field1",
                            commentLocation = Just
                              "reparse.h:229:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field2",
                        fieldType = HsTypRef
                          (Name "@NsTypeConstr" "A"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:230:19",
                              fieldName = NamePair {
                                nameC = Name "const_field2",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field2"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypeMacroTypedef
                                NamePair {
                                  nameC = Name "A",
                                  nameHsIdent = Identifier "A"}
                                NameOriginInSource),
                            structFieldOffset = 32,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field2",
                            commentLocation = Just
                              "reparse.h:230:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field3",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:231:19",
                              fieldName = NamePair {
                                nameC = Name "const_field3",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field3"},
                              fieldComment = Nothing},
                            structFieldType = TypePointer
                              (TypeQualified
                                TypeQualifierConst
                                (TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource)),
                            structFieldOffset = 64,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field3",
                            commentLocation = Just
                              "reparse.h:231:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field4",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:232:19",
                              fieldName = NamePair {
                                nameC = Name "const_field4",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field4"},
                              fieldComment = Nothing},
                            structFieldType = TypePointer
                              (TypeQualified
                                TypeQualifierConst
                                (TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource)),
                            structFieldOffset = 128,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field4",
                            commentLocation = Just
                              "reparse.h:232:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field5",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:233:19",
                              fieldName = NamePair {
                                nameC = Name "const_field5",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field5"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypePointer
                                (TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource)),
                            structFieldOffset = 192,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field5",
                            commentLocation = Just
                              "reparse.h:233:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field6",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:234:19",
                              fieldName = NamePair {
                                nameC = Name "const_field6",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field6"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypePointer
                                (TypeQualified
                                  TypeQualifierConst
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource))),
                            structFieldOffset = 256,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field6",
                            commentLocation = Just
                              "reparse.h:234:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field7",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:235:19",
                              fieldName = NamePair {
                                nameC = Name "const_field7",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field7"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypePointer
                                (TypeQualified
                                  TypeQualifierConst
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource))),
                            structFieldOffset = 320,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field7",
                            commentLocation = Just
                              "reparse.h:235:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc = "reparse.h:228:8",
                          declId = NamePair {
                            nameC = Name
                              "example_struct_with_const",
                            nameHsIdent = Identifier
                              "Example_struct_with_const"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["reparse.h"],
                              headerInclude = "reparse.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Example_struct_with_const"),
                            structSizeof = 48,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:229:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field1",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field1"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource),
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:230:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field2",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field2"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource),
                                structFieldOffset = 32,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:231:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field3",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field3"},
                                  fieldComment = Nothing},
                                structFieldType = TypePointer
                                  (TypeQualified
                                    TypeQualifierConst
                                    (TypeMacroTypedef
                                      NamePair {
                                        nameC = Name "A",
                                        nameHsIdent = Identifier "A"}
                                      NameOriginInSource)),
                                structFieldOffset = 64,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:232:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field4",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field4"},
                                  fieldComment = Nothing},
                                structFieldType = TypePointer
                                  (TypeQualified
                                    TypeQualifierConst
                                    (TypeMacroTypedef
                                      NamePair {
                                        nameC = Name "A",
                                        nameHsIdent = Identifier "A"}
                                      NameOriginInSource)),
                                structFieldOffset = 128,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:233:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field5",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field5"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypePointer
                                    (TypeMacroTypedef
                                      NamePair {
                                        nameC = Name "A",
                                        nameHsIdent = Identifier "A"}
                                      NameOriginInSource)),
                                structFieldOffset = 192,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:234:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field6",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field6"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypePointer
                                    (TypeQualified
                                      TypeQualifierConst
                                      (TypeMacroTypedef
                                        NamePair {
                                          nameC = Name "A",
                                          nameHsIdent = Identifier "A"}
                                        NameOriginInSource))),
                                structFieldOffset = 256,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:235:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field7",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field7"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypePointer
                                    (TypeQualified
                                      TypeQualifierConst
                                      (TypeMacroTypedef
                                        NamePair {
                                          nameC = Name "A",
                                          nameHsIdent = Identifier "A"}
                                        NameOriginInSource))),
                                structFieldOffset = 320,
                                structFieldWidth = Nothing}],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Just
                          "example_struct_with_const",
                        commentLocation = Just
                          "reparse.h:228:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["reparse.h"],
                            headerInclude = "reparse.h"},
                        commentChildren = []}})
                [
                  PeekByteOff (Idx 0) 0,
                  PeekByteOff (Idx 0) 4,
                  PeekByteOff (Idx 0) 8,
                  PeekByteOff (Idx 0) 16,
                  PeekByteOff (Idx 0) 24,
                  PeekByteOff (Idx 0) 32,
                  PeekByteOff (Idx 0) 40]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Example_struct_with_const",
                    structConstr = Name
                      "@NsConstr"
                      "Example_struct_with_const",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field1",
                        fieldType = HsTypRef
                          (Name "@NsTypeConstr" "A"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:229:19",
                              fieldName = NamePair {
                                nameC = Name "const_field1",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field1"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypeMacroTypedef
                                NamePair {
                                  nameC = Name "A",
                                  nameHsIdent = Identifier "A"}
                                NameOriginInSource),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field1",
                            commentLocation = Just
                              "reparse.h:229:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field2",
                        fieldType = HsTypRef
                          (Name "@NsTypeConstr" "A"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:230:19",
                              fieldName = NamePair {
                                nameC = Name "const_field2",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field2"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypeMacroTypedef
                                NamePair {
                                  nameC = Name "A",
                                  nameHsIdent = Identifier "A"}
                                NameOriginInSource),
                            structFieldOffset = 32,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field2",
                            commentLocation = Just
                              "reparse.h:230:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field3",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:231:19",
                              fieldName = NamePair {
                                nameC = Name "const_field3",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field3"},
                              fieldComment = Nothing},
                            structFieldType = TypePointer
                              (TypeQualified
                                TypeQualifierConst
                                (TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource)),
                            structFieldOffset = 64,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field3",
                            commentLocation = Just
                              "reparse.h:231:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field4",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:232:19",
                              fieldName = NamePair {
                                nameC = Name "const_field4",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field4"},
                              fieldComment = Nothing},
                            structFieldType = TypePointer
                              (TypeQualified
                                TypeQualifierConst
                                (TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource)),
                            structFieldOffset = 128,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field4",
                            commentLocation = Just
                              "reparse.h:232:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field5",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:233:19",
                              fieldName = NamePair {
                                nameC = Name "const_field5",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field5"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypePointer
                                (TypeMacroTypedef
                                  NamePair {
                                    nameC = Name "A",
                                    nameHsIdent = Identifier "A"}
                                  NameOriginInSource)),
                            structFieldOffset = 192,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field5",
                            commentLocation = Just
                              "reparse.h:233:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field6",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:234:19",
                              fieldName = NamePair {
                                nameC = Name "const_field6",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field6"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypePointer
                                (TypeQualified
                                  TypeQualifierConst
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource))),
                            structFieldOffset = 256,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field6",
                            commentLocation = Just
                              "reparse.h:234:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "example_struct_with_const_const_field7",
                        fieldType = HsPtr
                          (HsTypRef
                            (Name "@NsTypeConstr" "A")),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc = "reparse.h:235:19",
                              fieldName = NamePair {
                                nameC = Name "const_field7",
                                nameHsIdent = Identifier
                                  "example_struct_with_const_const_field7"},
                              fieldComment = Nothing},
                            structFieldType = TypeQualified
                              TypeQualifierConst
                              (TypePointer
                                (TypeQualified
                                  TypeQualifierConst
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource))),
                            structFieldOffset = 320,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "const_field7",
                            commentLocation = Just
                              "reparse.h:235:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["reparse.h"],
                                headerInclude = "reparse.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc = "reparse.h:228:8",
                          declId = NamePair {
                            nameC = Name
                              "example_struct_with_const",
                            nameHsIdent = Identifier
                              "Example_struct_with_const"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["reparse.h"],
                              headerInclude = "reparse.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Example_struct_with_const"),
                            structSizeof = 48,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:229:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field1",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field1"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource),
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:230:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field2",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field2"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypeMacroTypedef
                                    NamePair {
                                      nameC = Name "A",
                                      nameHsIdent = Identifier "A"}
                                    NameOriginInSource),
                                structFieldOffset = 32,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:231:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field3",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field3"},
                                  fieldComment = Nothing},
                                structFieldType = TypePointer
                                  (TypeQualified
                                    TypeQualifierConst
                                    (TypeMacroTypedef
                                      NamePair {
                                        nameC = Name "A",
                                        nameHsIdent = Identifier "A"}
                                      NameOriginInSource)),
                                structFieldOffset = 64,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:232:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field4",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field4"},
                                  fieldComment = Nothing},
                                structFieldType = TypePointer
                                  (TypeQualified
                                    TypeQualifierConst
                                    (TypeMacroTypedef
                                      NamePair {
                                        nameC = Name "A",
                                        nameHsIdent = Identifier "A"}
                                      NameOriginInSource)),
                                structFieldOffset = 128,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:233:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field5",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field5"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypePointer
                                    (TypeMacroTypedef
                                      NamePair {
                                        nameC = Name "A",
                                        nameHsIdent = Identifier "A"}
                                      NameOriginInSource)),
                                structFieldOffset = 192,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:234:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field6",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field6"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypePointer
                                    (TypeQualified
                                      TypeQualifierConst
                                      (TypeMacroTypedef
                                        NamePair {
                                          nameC = Name "A",
                                          nameHsIdent = Identifier "A"}
                                        NameOriginInSource))),
                                structFieldOffset = 256,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc = "reparse.h:235:19",
                                  fieldName = NamePair {
                                    nameC = Name "const_field7",
                                    nameHsIdent = Identifier
                                      "example_struct_with_const_const_field7"},
                                  fieldComment = Nothing},
                                structFieldType = TypeQualified
                                  TypeQualifierConst
                                  (TypePointer
                                    (TypeQualified
                                      TypeQualifierConst
                                      (TypeMacroTypedef
                                        NamePair {
                                          nameC = Name "A",
                                          nameHsIdent = Identifier "A"}
                                        NameOriginInSource))),
                                structFieldOffset = 320,
                                structFieldWidth = Nothing}],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Just
                          "example_struct_with_const",
                        commentLocation = Just
                          "reparse.h:228:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["reparse.h"],
                            headerInclude = "reparse.h"},
                        commentChildren = []}}
                  (Add 7)
                  (Seq
                    [
                      PokeByteOff (Idx 8) 0 (Idx 0),
                      PokeByteOff (Idx 8) 4 (Idx 1),
                      PokeByteOff (Idx 8) 8 (Idx 2),
                      PokeByteOff (Idx 8) 16 (Idx 3),
                      PokeByteOff (Idx 8) 24 (Idx 4),
                      PokeByteOff (Idx 8) 32 (Idx 5),
                      PokeByteOff
                        (Idx 8)
                        40
                        (Idx 6)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Example_struct_with_const",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Example_struct_with_const",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr1_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr1_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr1_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsTypRef
                  (Name "@NsTypeConstr" "A")))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:238:27",
            declId = NamePair {
              nameC = Name
                "const_funptr1_Deref",
              nameHsIdent = Identifier
                "Const_funptr1_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:238:27"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "const_funptr1",
                            nameHsIdent = Identifier
                              "Const_funptr1"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr1_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr1_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Const_funptr1"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:238:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toConst_funptr1_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr1_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr1_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromConst_funptr1_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr1_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Const_funptr1_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr1_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toConst_funptr1_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr1_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromConst_funptr1_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr1",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr1",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr1",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr1_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:238:27",
            declId = NamePair {
              nameC = Name "const_funptr1",
              nameHsIdent = Identifier
                "Const_funptr1"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr1",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr1"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "const_funptr1_Deref",
                      nameHsIdent = Identifier
                        "Const_funptr1_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypeQualified
                        TypeQualifierConst
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_funptr1",
            commentLocation = Just
              "reparse.h:238:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr1",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr2_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr2_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr2_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsTypRef
                  (Name "@NsTypeConstr" "A")))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:239:27",
            declId = NamePair {
              nameC = Name
                "const_funptr2_Deref",
              nameHsIdent = Identifier
                "Const_funptr2_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:239:27"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "const_funptr2",
                            nameHsIdent = Identifier
                              "Const_funptr2"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr2_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr2_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Const_funptr2"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:239:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toConst_funptr2_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr2_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr2_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromConst_funptr2_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr2_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Const_funptr2_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr2_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toConst_funptr2_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr2_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromConst_funptr2_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr2",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr2",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr2",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr2_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:239:27",
            declId = NamePair {
              nameC = Name "const_funptr2",
              nameHsIdent = Identifier
                "Const_funptr2"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr2",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr2"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "const_funptr2_Deref",
                      nameHsIdent = Identifier
                        "Const_funptr2_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypeQualified
                        TypeQualifierConst
                        (TypeMacroTypedef
                          NamePair {
                            nameC = Name "A",
                            nameHsIdent = Identifier "A"}
                          NameOriginInSource)))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_funptr2",
            commentLocation = Just
              "reparse.h:239:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr2",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr3_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr3_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr3_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A"))))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:240:27",
            declId = NamePair {
              nameC = Name
                "const_funptr3_Deref",
              nameHsIdent = Identifier
                "Const_funptr3_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:240:27"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "const_funptr3",
                            nameHsIdent = Identifier
                              "Const_funptr3"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr3_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr3_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Const_funptr3"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:240:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toConst_funptr3_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr3_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr3_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromConst_funptr3_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr3_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Const_funptr3_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr3_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toConst_funptr3_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr3_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromConst_funptr3_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr3",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr3",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr3",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr3_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:240:27",
            declId = NamePair {
              nameC = Name "const_funptr3",
              nameHsIdent = Identifier
                "Const_funptr3"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr3",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr3"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "const_funptr3_Deref",
                      nameHsIdent = Identifier
                        "Const_funptr3_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypePointer
                        (TypeQualified
                          TypeQualifierConst
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource))))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_funptr3",
            commentLocation = Just
              "reparse.h:240:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr3",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr3",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr4_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr4_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr4_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A"))))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:241:27",
            declId = NamePair {
              nameC = Name
                "const_funptr4_Deref",
              nameHsIdent = Identifier
                "Const_funptr4_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:241:27"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "const_funptr4",
                            nameHsIdent = Identifier
                              "Const_funptr4"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr4_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr4_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Const_funptr4"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:241:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toConst_funptr4_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr4_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr4_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromConst_funptr4_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr4_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Const_funptr4_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr4_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toConst_funptr4_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr4_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromConst_funptr4_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr4",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr4",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr4",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr4_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:241:27",
            declId = NamePair {
              nameC = Name "const_funptr4",
              nameHsIdent = Identifier
                "Const_funptr4"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr4",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr4"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "const_funptr4_Deref",
                      nameHsIdent = Identifier
                        "Const_funptr4_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypePointer
                        (TypeQualified
                          TypeQualifierConst
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource))))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_funptr4",
            commentLocation = Just
              "reparse.h:241:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr4",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr4",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr5_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr5_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr5_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A"))))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:242:27",
            declId = NamePair {
              nameC = Name
                "const_funptr5_Deref",
              nameHsIdent = Identifier
                "Const_funptr5_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:242:27"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "const_funptr5",
                            nameHsIdent = Identifier
                              "Const_funptr5"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr5_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr5_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Const_funptr5"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:242:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toConst_funptr5_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr5_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr5_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromConst_funptr5_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr5_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Const_funptr5_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr5_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toConst_funptr5_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr5_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromConst_funptr5_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr5",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr5",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr5",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr5_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:242:27",
            declId = NamePair {
              nameC = Name "const_funptr5",
              nameHsIdent = Identifier
                "Const_funptr5"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr5",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr5"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "const_funptr5_Deref",
                      nameHsIdent = Identifier
                        "Const_funptr5_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypeQualified
                        TypeQualifierConst
                        (TypePointer
                          (TypeMacroTypedef
                            NamePair {
                              nameC = Name "A",
                              nameHsIdent = Identifier "A"}
                            NameOriginInSource))))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_funptr5",
            commentLocation = Just
              "reparse.h:242:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr5",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr5",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr6_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr6_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr6_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A"))))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:243:27",
            declId = NamePair {
              nameC = Name
                "const_funptr6_Deref",
              nameHsIdent = Identifier
                "Const_funptr6_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:243:27"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "const_funptr6",
                            nameHsIdent = Identifier
                              "Const_funptr6"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr6_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr6_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Const_funptr6"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:243:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toConst_funptr6_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr6_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr6_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromConst_funptr6_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr6_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Const_funptr6_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr6_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toConst_funptr6_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr6_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromConst_funptr6_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr6",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr6",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr6",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr6_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:243:27",
            declId = NamePair {
              nameC = Name "const_funptr6",
              nameHsIdent = Identifier
                "Const_funptr6"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr6",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr6"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "const_funptr6_Deref",
                      nameHsIdent = Identifier
                        "Const_funptr6_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypeQualified
                        TypeQualifierConst
                        (TypePointer
                          (TypeQualified
                            TypeQualifierConst
                            (TypeMacroTypedef
                              NamePair {
                                nameC = Name "A",
                                nameHsIdent = Identifier "A"}
                              NameOriginInSource)))))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_funptr6",
            commentLocation = Just
              "reparse.h:243:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr6",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr6",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr6",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr6",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr7_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr7_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr7_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPrimType HsPrimCDouble)
              (HsIO
                (HsPtr
                  (HsTypRef
                    (Name "@NsTypeConstr" "A"))))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:244:27",
            declId = NamePair {
              nameC = Name
                "const_funptr7_Deref",
              nameHsIdent = Identifier
                "Const_funptr7_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId "reparse.h:244:27"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "const_funptr7",
                            nameHsIdent = Identifier
                              "Const_funptr7"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr7_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr7_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Const_funptr7"],
            commentOrigin = Nothing,
            commentLocation = Just
              "reparse.h:244:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toConst_funptr7_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr7_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr7_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromConst_funptr7_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Const_funptr7_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Const_funptr7_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimFloating PrimDouble)]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr7_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toConst_funptr7_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr7_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromConst_funptr7_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Const_funptr7",
        newtypeConstr = Name
          "@NsConstr"
          "Const_funptr7",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Const_funptr7",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Const_funptr7_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:244:27",
            declId = NamePair {
              nameC = Name "const_funptr7",
              nameHsIdent = Identifier
                "Const_funptr7"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Const_funptr7",
                newtypeField = Name
                  "@NsVar"
                  "un_Const_funptr7"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "const_funptr7_Deref",
                      nameHsIdent = Identifier
                        "Const_funptr7_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePrim
                          (PrimFloating PrimDouble)]
                      (TypeQualified
                        TypeQualifierConst
                        (TypePointer
                          (TypeQualified
                            TypeQualifierConst
                            (TypeMacroTypedef
                              NamePair {
                                nameC = Name "A",
                                nameHsIdent = Identifier "A"}
                              NameOriginInSource)))))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_funptr7",
            commentLocation = Just
              "reparse.h:244:27",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr7",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr7",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr7",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Const_funptr7",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "BOOL",
        newtypeConstr = Name
          "@NsConstr"
          "BOOL",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_BOOL",
          fieldType = HsPrimType
            HsPrimCBool,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:280:9",
            declId = NamePair {
              nameC = Name "BOOL",
              nameHsIdent = Identifier
                "BOOL"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Macro
            CheckedMacroType {
              macroTypeNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "BOOL",
                newtypeField = Name
                  "@NsVar"
                  "un_BOOL"},
              macroType = TypePrim PrimBool},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "BOOL",
            commentLocation = Just
              "reparse.h:280:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "BOOL",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "INT",
        newtypeConstr = Name
          "@NsConstr"
          "INT",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_INT",
          fieldType = HsPrimType
            HsPrimCInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:281:9",
            declId = NamePair {
              nameC = Name "INT",
              nameHsIdent = Identifier "INT"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Macro
            CheckedMacroType {
              macroTypeNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "INT",
                newtypeField = Name
                  "@NsVar"
                  "un_INT"},
              macroType = TypePrim
                (PrimIntegral PrimInt Signed)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "INT",
            commentLocation = Just
              "reparse.h:281:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INT",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "INTP",
        newtypeConstr = Name
          "@NsConstr"
          "INTP",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_INTP",
          fieldType = HsPtr
            (HsPrimType HsPrimCInt),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:282:9",
            declId = NamePair {
              nameC = Name "INTP",
              nameHsIdent = Identifier
                "INTP"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Macro
            CheckedMacroType {
              macroTypeNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "INTP",
                newtypeField = Name
                  "@NsVar"
                  "un_INTP"},
              macroType = TypePointer
                (TypePrim
                  (PrimIntegral PrimInt Signed))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "INTP",
            commentLocation = Just
              "reparse.h:282:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INTP",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INTP",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INTP",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INTP",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "INTCP",
        newtypeConstr = Name
          "@NsConstr"
          "INTCP",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_INTCP",
          fieldType = HsPtr
            (HsPrimType HsPrimCInt),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "reparse.h:283:9",
            declId = NamePair {
              nameC = Name "INTCP",
              nameHsIdent = Identifier
                "INTCP"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            declComment = Nothing},
          declKind = Macro
            CheckedMacroType {
              macroTypeNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "INTCP",
                newtypeField = Name
                  "@NsVar"
                  "un_INTCP"},
              macroType = TypeQualified
                TypeQualifierConst
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "INTCP",
            commentLocation = Just
              "reparse.h:283:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INTCP",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INTCP",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INTCP",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "INTCP",
        deriveInstanceComment =
        Nothing},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_char1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_394853579d622671",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_394853579d622671 (A arg1, char arg2) { args_char1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit Nothing)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Function declarations"],
            commentOrigin = Just
              "args_char1",
            commentLocation = Just
              "reparse.h:17:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_char2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_da98fe949f347bb4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_da98fe949f347bb4 (A arg1, signed char arg2) { args_char2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimChar
                    (PrimSignExplicit Signed)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_char2",
            commentLocation = Just
              "reparse.h:18:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_char3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1b54575fa299f64d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_1b54575fa299f64d (A arg1, unsigned char arg2) { args_char3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimChar
                    (PrimSignExplicit Unsigned)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_char3",
            commentLocation = Just
              "reparse.h:19:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_short1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCShort,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5eb574c361d453a5",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_5eb574c361d453a5 (A arg1, signed short arg2) { args_short1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimShort
                    Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_short1",
            commentLocation = Just
              "reparse.h:21:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_short2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCShort,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_47d5b6ac9938a676",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_47d5b6ac9938a676 (A arg1, signed short arg2) { args_short2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimShort
                    Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_short2",
            commentLocation = Just
              "reparse.h:22:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_short3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUShort,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7b3f1c99ea5c31ce",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_7b3f1c99ea5c31ce (A arg1, unsigned short arg2) { args_short3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimShort
                    Unsigned))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_short3",
            commentLocation = Just
              "reparse.h:23:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_int1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3103fa698febc2e4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_3103fa698febc2e4 (A arg1, signed int arg2) { args_int1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_int1",
            commentLocation = Just
              "reparse.h:25:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_int2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f73bd21e02a58e0f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_f73bd21e02a58e0f (A arg1, signed int arg2) { args_int2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_int2",
            commentLocation = Just
              "reparse.h:26:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_int3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_6d36b4892d340141",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_6d36b4892d340141 (A arg1, unsigned int arg2) { args_int3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Unsigned))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_int3",
            commentLocation = Just
              "reparse.h:27:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_long1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCLong,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c80fdb5f86f0e67e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_c80fdb5f86f0e67e (A arg1, signed long arg2) { args_long1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimLong
                    Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_long1",
            commentLocation = Just
              "reparse.h:29:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_long2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCLong,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b0db0696cda23a78",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_b0db0696cda23a78 (A arg1, signed long arg2) { args_long2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimLong
                    Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_long2",
            commentLocation = Just
              "reparse.h:30:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_long3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCULong,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_78868ddd9e2ed516",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_78868ddd9e2ed516 (A arg1, unsigned long arg2) { args_long3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimLong
                    Unsigned))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_long3",
            commentLocation = Just
              "reparse.h:31:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_float",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCFloat,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_555dbd0a04bc0304",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_555dbd0a04bc0304 (A arg1, float arg2) { args_float(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimFloating PrimFloat))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_float",
            commentLocation = Just
              "reparse.h:33:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_double",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCDouble,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_fe4a06766df0d1e6",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_fe4a06766df0d1e6 (A arg1, double arg2) { args_double(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimFloating PrimDouble))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_double",
            commentLocation = Just
              "reparse.h:34:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_bool1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a607c108df5a1598",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_a607c108df5a1598 (A arg1, _Bool arg2) { args_bool1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim PrimBool)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_bool1",
            commentLocation = Just
              "reparse.h:35:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_struct_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_struct")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2867c64e14a8b4b4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_2867c64e14a8b4b4 (A arg1, struct some_struct *arg2) { args_struct(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeStruct
                  NamePair {
                    nameC = Name "some_struct",
                    nameHsIdent = Identifier
                      "Some_struct"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_struct",
            commentLocation = Just
              "reparse.h:37:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_union_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_union")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_dbccce7991402835",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_dbccce7991402835 (A arg1, union some_union *arg2) { args_union(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeUnion
                  NamePair {
                    nameC = Name "some_union",
                    nameHsIdent = Identifier
                      "Some_union"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_union",
            commentLocation = Just
              "reparse.h:38:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_enum",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_enum"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_58e9df8b58217744",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_58e9df8b58217744 (A arg1, enum some_enum arg2) { args_enum(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeEnum
                  NamePair {
                    nameC = Name "some_enum",
                    nameHsIdent = Identifier
                      "Some_enum"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_enum",
            commentLocation = Just
              "reparse.h:39:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_pointer1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_da0ab238a099dc49",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_da0ab238a099dc49 (A arg1, signed int *arg2) { args_pointer1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_pointer1",
            commentLocation = Just
              "reparse.h:41:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_pointer2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPtr (HsPrimType HsPrimCInt)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_abd9ce8bdda564f4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_abd9ce8bdda564f4 (A arg1, signed int **arg2) { args_pointer2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypePointer
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_pointer2",
            commentLocation = Just
              "reparse.h:42:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_pointer3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg3"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimVoid),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg3",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ed43d3d8eb25de8f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_ed43d3d8eb25de8f (A arg1, void *arg2) { args_pointer3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg3",
                    nameHsIdent = Identifier
                      "arg3"})
                (TypePointer TypeVoid)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_pointer3",
            commentLocation = Just
              "reparse.h:43:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_A",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a45e66140bccd9e3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "A hs_bindgen_test_reparse_a45e66140bccd9e3 (void) { return ret_A(); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_A",
            commentLocation = Just
              "reparse.h:47:3",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_char1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCChar)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_44f364f98d9773fa",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "char hs_bindgen_test_reparse_44f364f98d9773fa (A arg1) { return ret_char1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimChar
                (PrimSignImplicit Nothing))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_char1",
            commentLocation = Just
              "reparse.h:49:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_char2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCSChar)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c0ccab4edfec7750",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed char hs_bindgen_test_reparse_c0ccab4edfec7750 (A arg1) { return ret_char2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimChar
                (PrimSignExplicit Signed))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_char2",
            commentLocation = Just
              "reparse.h:50:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_char3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCUChar)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_22570fd6296f553c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "unsigned char hs_bindgen_test_reparse_22570fd6296f553c (A arg1) { return ret_char3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimChar
                (PrimSignExplicit Unsigned))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_char3",
            commentLocation = Just
              "reparse.h:51:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_short1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCShort)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_60148c950d753d1d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed short hs_bindgen_test_reparse_60148c950d753d1d (A arg1) { return ret_short1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimShort
                Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_short1",
            commentLocation = Just
              "reparse.h:53:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_short2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCShort)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1f5d60c2fc8391f8",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed short hs_bindgen_test_reparse_1f5d60c2fc8391f8 (A arg1) { return ret_short2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimShort
                Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_short2",
            commentLocation = Just
              "reparse.h:54:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_short3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCUShort)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c35d296d9df5f67d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "unsigned short hs_bindgen_test_reparse_c35d296d9df5f67d (A arg1) { return ret_short3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimShort
                Unsigned)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_short3",
            commentLocation = Just
              "reparse.h:55:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_int1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_edcb4249e75b3e31",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_reparse_edcb4249e75b3e31 (A arg1) { return ret_int1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_int1",
            commentLocation = Just
              "reparse.h:57:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_int2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_28e6902c5d5c160d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_reparse_28e6902c5d5c160d (A arg1) { return ret_int2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_int2",
            commentLocation = Just
              "reparse.h:58:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_int3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCUInt)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_42873a9aa50685f7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "unsigned int hs_bindgen_test_reparse_42873a9aa50685f7 (A arg1) { return ret_int3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimInt
                Unsigned)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_int3",
            commentLocation = Just
              "reparse.h:59:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_long1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCLong)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ef0217b739070465",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed long hs_bindgen_test_reparse_ef0217b739070465 (A arg1) { return ret_long1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimLong Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_long1",
            commentLocation = Just
              "reparse.h:61:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_long2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCLong)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0b8baea451432efe",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed long hs_bindgen_test_reparse_0b8baea451432efe (A arg1) { return ret_long2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimLong Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_long2",
            commentLocation = Just
              "reparse.h:62:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_long3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCULong)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_264e25c048487a65",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "unsigned long hs_bindgen_test_reparse_264e25c048487a65 (A arg1) { return ret_long3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimLong
                Unsigned)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_long3",
            commentLocation = Just
              "reparse.h:63:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_float",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCFloat)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d4f4783fa3bcf0fd",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "float hs_bindgen_test_reparse_d4f4783fa3bcf0fd (A arg1) { return ret_float(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimFloating PrimFloat)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_float",
            commentLocation = Just
              "reparse.h:65:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_double",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCDouble)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_94ae038975c7b6e8",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "double hs_bindgen_test_reparse_94ae038975c7b6e8 (A arg1) { return ret_double(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimFloating PrimDouble)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_double",
            commentLocation = Just
              "reparse.h:66:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_bool1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c6e57fb4c8ccc002",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_reparse_c6e57fb4c8ccc002 (A arg1) { return ret_bool1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_bool1",
            commentLocation = Just
              "reparse.h:67:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_struct_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        HeapResultType
          (HsPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_struct"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4d9a2038e7abf410",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_4d9a2038e7abf410 (A arg1, struct some_struct *arg2) { *arg2 = ret_struct(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeStruct
              NamePair {
                nameC = Name "some_struct",
                nameHsIdent = Identifier
                  "Some_struct"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_struct",
            commentLocation = Just
              "reparse.h:69:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_union_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        HeapResultType
          (HsPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_union"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_6614cf4950ce1e7c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_6614cf4950ce1e7c (A arg1, union some_union *arg2) { *arg2 = ret_union(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeUnion
              NamePair {
                nameC = Name "some_union",
                nameHsIdent = Identifier
                  "Some_union"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_union",
            commentLocation = Just
              "reparse.h:70:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_enum",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_enum"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4a8e0e395958b0ed",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "enum some_enum hs_bindgen_test_reparse_4a8e0e395958b0ed (A arg1) { return ret_enum(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeEnum
              NamePair {
                nameC = Name "some_enum",
                nameHsIdent = Identifier
                  "Some_enum"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_enum",
            commentLocation = Just
              "reparse.h:71:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_pointer1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_59ba78873de08998",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int *hs_bindgen_test_reparse_59ba78873de08998 (A arg1) { return ret_pointer1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypePrim
                (PrimIntegral PrimInt Signed))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_pointer1",
            commentLocation = Just
              "reparse.h:73:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_pointer2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPtr
                (HsPrimType HsPrimCInt)))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f075faf1943231c1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int **hs_bindgen_test_reparse_f075faf1943231c1 (A arg1) { return ret_pointer2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypePointer
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_pointer2",
            commentLocation = Just
              "reparse.h:74:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_pointer3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimVoid))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a865c16cbfd0f2b1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void *hs_bindgen_test_reparse_a865c16cbfd0f2b1 (A arg1) { return ret_pointer3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_pointer3",
            commentLocation = Just
              "reparse.h:75:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "body1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0dd10e2baacf20e1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_reparse_0dd10e2baacf20e1 (A arg1) { return body1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "body1",
            commentLocation = Just
              "reparse.h:79:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "body2",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e40f2da3eda8e4ab",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "A hs_bindgen_test_reparse_e40f2da3eda8e4ab (void) { return body2(); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "body2",
            commentLocation = Just
              "reparse.h:80:3",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_complex_float_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsComplexType HsPrimCFloat),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_cabceb6db44b7d81",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_cabceb6db44b7d81 (A arg1, float _Complex *arg2) { args_complex_float(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeComplex
                  (PrimFloating PrimFloat))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_complex_float",
            commentLocation = Just
              "reparse.h:84:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_complex_double_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsComplexType HsPrimCDouble),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ef2a09e9cd3eec0c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_ef2a09e9cd3eec0c (A arg1, double _Complex *arg2) { args_complex_double(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeComplex
                  (PrimFloating PrimDouble))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_complex_double",
            commentLocation = Just
              "reparse.h:85:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_complex_float_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        HeapResultType
          (HsPtr
            (HsComplexType HsPrimCFloat)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_26ada386c6fc7617",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_26ada386c6fc7617 (A arg1, float _Complex *arg2) { *arg2 = ret_complex_float(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeComplex
              (PrimFloating PrimFloat)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_complex_float",
            commentLocation = Just
              "reparse.h:86:17",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_complex_double_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        HeapResultType
          (HsPtr
            (HsComplexType HsPrimCDouble)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b99f35785e9f9b5c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_b99f35785e9f9b5c (A arg1, double _Complex *arg2) { *arg2 = ret_complex_double(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeComplex
              (PrimFloating PrimDouble)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_complex_double",
            commentLocation = Just
              "reparse.h:87:17",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "bespoke_args1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4c1c48b67908e0ad",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_4c1c48b67908e0ad (A arg1, _Bool arg2) { bespoke_args1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim PrimBool)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "bespoke_args1",
            commentLocation = Just
              "reparse.h:94:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "bespoke_args2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSize,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7bd6c9115d303872",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_7bd6c9115d303872 (A arg1, size_t arg2) { bespoke_args2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim PrimSize)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "bespoke_args2",
            commentLocation = Just
              "reparse.h:95:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "bespoke_ret1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_994d22fc993523bf",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_reparse_994d22fc993523bf (A arg1) { return bespoke_ret1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "bespoke_ret1",
            commentLocation = Just
              "reparse.h:97:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "bespoke_ret2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCSize)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c7649a4aa2e14a89",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "size_t hs_bindgen_test_reparse_c7649a4aa2e14a89 (A arg1) { return bespoke_ret2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimSize},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "bespoke_ret2",
            commentLocation = Just
              "reparse.h:98:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "arr_args1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_69045f97d21cfcd3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_69045f97d21cfcd3 (A *arg1) { arr_args1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [TextContent "Arrays"],
            commentOrigin = Just
              "arr_args1",
            commentLocation = Just
              "reparse.h:104:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "arr_args2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_75b7d6fa15700a72",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_75b7d6fa15700a72 (A **arg1) { arr_args2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_args2",
            commentLocation = Just
              "reparse.h:105:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "arr_args3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_64bcbef92728339f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_64bcbef92728339f (A *arg1) { arr_args3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeConstArray
                  5
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_args3",
            commentLocation = Just
              "reparse.h:106:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "arr_args4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1635b68f717cc6df",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_1635b68f717cc6df (A **arg1) { arr_args4(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeConstArray
                  5
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_args4",
            commentLocation = Just
              "reparse.h:107:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsIO (HsPrimType HsPrimUnit)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_09ca38f534ba1397",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_09ca38f534ba1397 (A arg1, void (*arg2) (void)) { funptr_args1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun [] TypeVoid))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Function pointers"],
            commentOrigin = Just
              "funptr_args1",
            commentLocation = Just
              "reparse.h:126:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsIO (HsPrimType HsPrimCInt)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_43e32eb1c4511130",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_43e32eb1c4511130 (A arg1, signed int (*arg2) (void)) { funptr_args2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    []
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_args2",
            commentLocation = Just
              "reparse.h:127:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO (HsPrimType HsPrimUnit))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_639eb292178302da",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_639eb292178302da (A arg1, void (*arg2) (signed int arg1)) { funptr_args3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    [
                      TypePrim
                        (PrimIntegral PrimInt Signed)]
                    TypeVoid))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_args3",
            commentLocation = Just
              "reparse.h:128:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPrimType HsPrimCChar)))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_deaef357745591d1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_deaef357745591d1 (A arg1, char (*arg2) (signed int arg1, double arg2)) { funptr_args4(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    [
                      TypePrim
                        (PrimIntegral PrimInt Signed),
                      TypePrim
                        (PrimFloating PrimDouble)]
                    (TypePrim
                      (PrimChar
                        (PrimSignImplicit Nothing)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_args4",
            commentLocation = Just
              "reparse.h:129:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args5",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_bd58865f6f33ce14",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_bd58865f6f33ce14 (A arg1, signed int *(*arg2) (signed int arg1, double arg2)) { funptr_args5(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    [
                      TypePrim
                        (PrimIntegral PrimInt Signed),
                      TypePrim
                        (PrimFloating PrimDouble)]
                    (TypePointer
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_args5",
            commentLocation = Just
              "reparse.h:130:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "comments1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a609cc59a266965e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_a609cc59a266965e (A arg1) { comments1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Comments in awkward places"],
            commentOrigin = Just
              "comments1",
            commentLocation = Just
              "reparse.h:144:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "(Prior to language-c we failed to parse there.)"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_before1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_55af49e081d3af5c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_55af49e081d3af5c (A arg1, char const arg2) { const_prim_before1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit Nothing))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment =
        Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "`const` qualifier"],
            commentOrigin = Just
              "const_prim_before1",
            commentLocation = Just
              "reparse.h:179:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren =
            [
              Paragraph
                [
                  TextContent
                    "NOTE: These were not parsed correctly prior to the switch to language-c."]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_before2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_17a6476d46f98f53",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_17a6476d46f98f53 (A arg1, signed char const arg2) { const_prim_before2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignExplicit Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_before2",
            commentLocation = Just
              "reparse.h:180:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_before3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1fce4989a8ceca6d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_1fce4989a8ceca6d (A arg1, unsigned char const arg2) { const_prim_before3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignExplicit Unsigned))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_before3",
            commentLocation = Just
              "reparse.h:181:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_after1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0b8f21af35a88318",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_0b8f21af35a88318 (A arg1, char const arg2) { const_prim_after1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit Nothing))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_after1",
            commentLocation = Just
              "reparse.h:182:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_after2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_069042df961b78f1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_069042df961b78f1 (A arg1, signed char const arg2) { const_prim_after2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignExplicit Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_after2",
            commentLocation = Just
              "reparse.h:183:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_after3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_14ab286beb6d7436",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_14ab286beb6d7436 (A arg1, unsigned char const arg2) { const_prim_after3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignExplicit Unsigned))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_after3",
            commentLocation = Just
              "reparse.h:184:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCFloat,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3f5a39bd9a93581a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_3f5a39bd9a93581a (A arg1, float const arg2) { const_withoutSign_before1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimFloating PrimFloat)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before1",
            commentLocation = Just
              "reparse.h:188:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCDouble,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5a190462ddfe8168",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_5a190462ddfe8168 (A arg1, double const arg2) { const_withoutSign_before2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimFloating PrimDouble)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before2",
            commentLocation = Just
              "reparse.h:189:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_70a40d82bb46c21c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_70a40d82bb46c21c (A arg1, _Bool const arg2) { const_withoutSign_before3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimBool))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before3",
            commentLocation = Just
              "reparse.h:190:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before4_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_struct")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_81ce15a9b9be53f8",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_81ce15a9b9be53f8 (A arg1, struct some_struct const *arg2) { const_withoutSign_before4(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeStruct
                    NamePair {
                      nameC = Name "some_struct",
                      nameHsIdent = Identifier
                        "Some_struct"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before4",
            commentLocation = Just
              "reparse.h:191:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before5_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_union")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_39c58819fdca0585",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_39c58819fdca0585 (A arg1, union some_union const *arg2) { const_withoutSign_before5(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeUnion
                    NamePair {
                      nameC = Name "some_union",
                      nameHsIdent = Identifier
                        "Some_union"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before5",
            commentLocation = Just
              "reparse.h:192:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before6",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_enum"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4c5a32cae31a651c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_4c5a32cae31a651c (A arg1, enum some_enum const arg2) { const_withoutSign_before6(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeEnum
                    NamePair {
                      nameC = Name "some_enum",
                      nameHsIdent = Identifier
                        "Some_enum"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before6",
            commentLocation = Just
              "reparse.h:193:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before7",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0341b56dd9dde729",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_0341b56dd9dde729 (A arg1, _Bool const arg2) { const_withoutSign_before7(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimBool))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before7",
            commentLocation = Just
              "reparse.h:194:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before8",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSize,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d43c37be4d91bd6c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_d43c37be4d91bd6c (A arg1, size_t const arg2) { const_withoutSign_before8(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimSize))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before8",
            commentLocation = Just
              "reparse.h:195:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCFloat,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f456a2b015543748",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_f456a2b015543748 (A arg1, float const arg2) { const_withoutSign_after1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimFloating PrimFloat)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after1",
            commentLocation = Just
              "reparse.h:197:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCDouble,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_729c897c9a9bfc92",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_729c897c9a9bfc92 (A arg1, double const arg2) { const_withoutSign_after2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimFloating PrimDouble)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after2",
            commentLocation = Just
              "reparse.h:198:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5e46eebba0299b49",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_5e46eebba0299b49 (A arg1, _Bool const arg2) { const_withoutSign_after3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimBool))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after3",
            commentLocation = Just
              "reparse.h:199:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after4_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_struct")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_18b842a824ecef09",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_18b842a824ecef09 (A arg1, struct some_struct const *arg2) { const_withoutSign_after4(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeStruct
                    NamePair {
                      nameC = Name "some_struct",
                      nameHsIdent = Identifier
                        "Some_struct"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after4",
            commentLocation = Just
              "reparse.h:200:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after5_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_union")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_75feb5260081201b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_75feb5260081201b (A arg1, union some_union const *arg2) { const_withoutSign_after5(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeUnion
                    NamePair {
                      nameC = Name "some_union",
                      nameHsIdent = Identifier
                        "Some_union"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after5",
            commentLocation = Just
              "reparse.h:201:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after6",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_enum"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3375ca58017bcbeb",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_3375ca58017bcbeb (A arg1, enum some_enum const arg2) { const_withoutSign_after6(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeEnum
                    NamePair {
                      nameC = Name "some_enum",
                      nameHsIdent = Identifier
                        "Some_enum"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after6",
            commentLocation = Just
              "reparse.h:202:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after7",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5da184668d3e18ba",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_5da184668d3e18ba (A arg1, _Bool const arg2) { const_withoutSign_after7(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimBool))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after7",
            commentLocation = Just
              "reparse.h:203:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after8",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSize,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3cae7641509d64fa",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_3cae7641509d64fa (A arg1, size_t const arg2) { const_withoutSign_after8(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimSize))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after8",
            commentLocation = Just
              "reparse.h:204:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4dcc1a25c1ecaaa2",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_4dcc1a25c1ecaaa2 (A arg1, signed int const *arg2) { const_pointers_args1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args1",
            commentLocation = Just
              "reparse.h:208:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_fec0ae82f5b0ad81",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_fec0ae82f5b0ad81 (A arg1, signed int const *arg2) { const_pointers_args2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args2",
            commentLocation = Just
              "reparse.h:209:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_fe0313a1b7b08d51",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_fe0313a1b7b08d51 (A arg1, signed int *const arg2) { const_pointers_args3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args3",
            commentLocation = Just
              "reparse.h:210:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_33f3fc94401a8bfe",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_33f3fc94401a8bfe (A arg1, signed int const *const arg2) { const_pointers_args4(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args4",
            commentLocation = Just
              "reparse.h:211:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args5",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_391d9682b9dc51ac",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_391d9682b9dc51ac (A arg1, signed int const *const arg2) { const_pointers_args5(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args5",
            commentLocation = Just
              "reparse.h:212:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_8bf23a9981153f56",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *hs_bindgen_test_reparse_8bf23a9981153f56 (A arg1) { return const_pointers_ret1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret1",
            commentLocation = Just
              "reparse.h:214:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_849c6f0a166afc3c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *hs_bindgen_test_reparse_849c6f0a166afc3c (A arg1) { return const_pointers_ret2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret2",
            commentLocation = Just
              "reparse.h:215:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2bcb395289e776af",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int *const hs_bindgen_test_reparse_2bcb395289e776af (A arg1) { return const_pointers_ret3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret3",
            commentLocation = Just
              "reparse.h:216:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_10d30d6be4435bb5",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *const hs_bindgen_test_reparse_10d30d6be4435bb5 (A arg1) { return const_pointers_ret4(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret4",
            commentLocation = Just
              "reparse.h:217:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret5",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4e0a9385778eeea9",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *const hs_bindgen_test_reparse_4e0a9385778eeea9 (A arg1) { return const_pointers_ret5(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret5",
            commentLocation = Just
              "reparse.h:218:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_array_elem1_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_216b4842313741d6",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_216b4842313741d6 (A const *arg1) { const_array_elem1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_array_elem1",
            commentLocation = Just
              "reparse.h:246:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_array_elem2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1c0be30090d3f0b4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_1c0be30090d3f0b4 (A const **arg1) { const_array_elem2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_array_elem2",
            commentLocation = Just
              "reparse.h:247:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_array_elem3_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_30c17e3a462eeecc",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_30c17e3a462eeecc (A *const *arg1) { const_array_elem3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypeQualified
                    TypeQualifierConst
                    (TypePointer
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_array_elem3",
            commentLocation = Just
              "reparse.h:248:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "noParams1",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_8ab2f7d7d9185985",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "A hs_bindgen_test_reparse_8ab2f7d7d9185985 (void) { return noParams1(); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Other examples we reparsed /incorrectly/ before language-c"],
            commentOrigin = Just
              "noParams1",
            commentLocation = Just
              "reparse.h:256:3",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "noParams2",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3154e7cc23e3e0f3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "A hs_bindgen_test_reparse_3154e7cc23e3e0f3 (void) { return noParams2(); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "noParams2",
            commentLocation = Just
              "reparse.h:257:3",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "noParams3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsIO (HsPrimType HsPrimCInt)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3d23de5d2d770dfe",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_3d23de5d2d770dfe (A arg1, signed int (*arg2) (void)) { noParams3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    []
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "noParams3",
            commentLocation = Just
              "reparse.h:258:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsIO
                (HsPrimType HsPrimUnit)))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_cfe9601f75800453",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void (*hs_bindgen_test_reparse_cfe9601f75800453 (A arg1)) (void) { return funptr_ret1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun [] TypeVoid)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret1",
            commentLocation = Just
              "reparse.h:262:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsIO
                (HsPrimType HsPrimCInt)))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ca3824f5cf114f19",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int (*hs_bindgen_test_reparse_ca3824f5cf114f19 (A arg1)) (void) { return funptr_ret2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                []
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret2",
            commentLocation = Just
              "reparse.h:263:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2de886ad95f674f5",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void (*hs_bindgen_test_reparse_2de886ad95f674f5 (A arg1)) (signed int arg1) { return funptr_ret3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed)]
                TypeVoid)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret3",
            commentLocation = Just
              "reparse.h:264:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPrimType HsPrimCChar)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b4856eab77ec0cbf",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "char (*hs_bindgen_test_reparse_b4856eab77ec0cbf (A arg1)) (signed int arg1, double arg2) { return funptr_ret4(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit Nothing))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret4",
            commentLocation = Just
              "reparse.h:265:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret5",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_39273a56f1a80904",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int *(*hs_bindgen_test_reparse_39273a56f1a80904 (A arg1)) (signed int arg1, double arg2) { return funptr_ret5(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret5",
            commentLocation = Just
              "reparse.h:269:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret6",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5e2dfa9b8f6075ee",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *(*hs_bindgen_test_reparse_5e2dfa9b8f6075ee (A arg1)) (signed int arg1, double arg2) { return funptr_ret6(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed)))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret6",
            commentLocation = Just
              "reparse.h:270:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret7",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0b65a87e08b5a1a7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *(*hs_bindgen_test_reparse_0b65a87e08b5a1a7 (A arg1)) (signed int arg1, double arg2) { return funptr_ret7(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed)))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret7",
            commentLocation = Just
              "reparse.h:271:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret8",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_629050352113405f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int *const (*hs_bindgen_test_reparse_629050352113405f (A arg1)) (signed int arg1, double arg2) { return funptr_ret8(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed)))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret8",
            commentLocation = Just
              "reparse.h:272:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret9",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a1dcda8f782ad284",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *const (*hs_bindgen_test_reparse_a1dcda8f782ad284 (A arg1)) (signed int arg1, double arg2) { return funptr_ret9(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed))))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret9",
            commentLocation = Just
              "reparse.h:273:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret10",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ca08b018fda612eb",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *const (*hs_bindgen_test_reparse_ca08b018fda612eb (A arg1)) (signed int arg1, double arg2) { return funptr_ret10(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed))))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret10",
            commentLocation = Just
              "reparse.h:274:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_char1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a10d23a1cebc3f58",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_a10d23a1cebc3f58 (A arg1, char arg2) { args_char1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit Nothing)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Function declarations"],
            commentOrigin = Just
              "args_char1",
            commentLocation = Just
              "reparse.h:17:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_char2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a76a90b5f6e68b22",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_a76a90b5f6e68b22 (A arg1, signed char arg2) { args_char2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimChar
                    (PrimSignExplicit Signed)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_char2",
            commentLocation = Just
              "reparse.h:18:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_char3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_8d42e2ffb839cfb7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_8d42e2ffb839cfb7 (A arg1, unsigned char arg2) { args_char3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimChar
                    (PrimSignExplicit Unsigned)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_char3",
            commentLocation = Just
              "reparse.h:19:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_short1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCShort,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0919acaf21bc8eb1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_0919acaf21bc8eb1 (A arg1, signed short arg2) { args_short1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimShort
                    Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_short1",
            commentLocation = Just
              "reparse.h:21:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_short2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCShort,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_42f4e1b66fbe1d85",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_42f4e1b66fbe1d85 (A arg1, signed short arg2) { args_short2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimShort
                    Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_short2",
            commentLocation = Just
              "reparse.h:22:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_short3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUShort,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_cfd148e6676f4393",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_cfd148e6676f4393 (A arg1, unsigned short arg2) { args_short3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimShort
                    Unsigned))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_short3",
            commentLocation = Just
              "reparse.h:23:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_int1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b55222b08f54d08a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_b55222b08f54d08a (A arg1, signed int arg2) { args_int1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_int1",
            commentLocation = Just
              "reparse.h:25:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_int2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5ab884050f61f378",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_5ab884050f61f378 (A arg1, signed int arg2) { args_int2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_int2",
            commentLocation = Just
              "reparse.h:26:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_int3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5b3642adbf8d8c09",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_5b3642adbf8d8c09 (A arg1, unsigned int arg2) { args_int3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Unsigned))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_int3",
            commentLocation = Just
              "reparse.h:27:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_long1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCLong,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_fb02cb0320aff007",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_fb02cb0320aff007 (A arg1, signed long arg2) { args_long1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimLong
                    Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_long1",
            commentLocation = Just
              "reparse.h:29:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_long2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCLong,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c6b81a1422f5535e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_c6b81a1422f5535e (A arg1, signed long arg2) { args_long2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimLong
                    Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_long2",
            commentLocation = Just
              "reparse.h:30:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_long3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCULong,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7279876c6cff5eed",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_7279876c6cff5eed (A arg1, unsigned long arg2) { args_long3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimIntegral
                    PrimLong
                    Unsigned))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_long3",
            commentLocation = Just
              "reparse.h:31:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_float",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCFloat,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7dec78ee43c784cf",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_7dec78ee43c784cf (A arg1, float arg2) { args_float(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimFloating PrimFloat))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_float",
            commentLocation = Just
              "reparse.h:33:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_double",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCDouble,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_af9629b17c5c01eb",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_af9629b17c5c01eb (A arg1, double arg2) { args_double(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim
                  (PrimFloating PrimDouble))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_double",
            commentLocation = Just
              "reparse.h:34:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_bool1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b1e345616dae25b7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_b1e345616dae25b7 (A arg1, _Bool arg2) { args_bool1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim PrimBool)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_bool1",
            commentLocation = Just
              "reparse.h:35:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_struct_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_struct")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e20137c4ab18a66e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_e20137c4ab18a66e (A arg1, struct some_struct *arg2) { args_struct(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeStruct
                  NamePair {
                    nameC = Name "some_struct",
                    nameHsIdent = Identifier
                      "Some_struct"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_struct",
            commentLocation = Just
              "reparse.h:37:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_union_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_union")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_8468152f3130816a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_8468152f3130816a (A arg1, union some_union *arg2) { args_union(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeUnion
                  NamePair {
                    nameC = Name "some_union",
                    nameHsIdent = Identifier
                      "Some_union"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_union",
            commentLocation = Just
              "reparse.h:38:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_enum",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_enum"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2ee1baf211b5f628",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_2ee1baf211b5f628 (A arg1, enum some_enum arg2) { args_enum(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeEnum
                  NamePair {
                    nameC = Name "some_enum",
                    nameHsIdent = Identifier
                      "Some_enum"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_enum",
            commentLocation = Just
              "reparse.h:39:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_pointer1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_42e8807b857ec8be",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_42e8807b857ec8be (A arg1, signed int *arg2) { args_pointer1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_pointer1",
            commentLocation = Just
              "reparse.h:41:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_pointer2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPtr (HsPrimType HsPrimCInt)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_decf0f1fad98cc09",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_decf0f1fad98cc09 (A arg1, signed int **arg2) { args_pointer2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypePointer
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_pointer2",
            commentLocation = Just
              "reparse.h:42:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_pointer3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg3"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimVoid),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg3",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c2bfa7966be9fc8a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_c2bfa7966be9fc8a (A arg1, void *arg2) { args_pointer3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg3",
                    nameHsIdent = Identifier
                      "arg3"})
                (TypePointer TypeVoid)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_pointer3",
            commentLocation = Just
              "reparse.h:43:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_A",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_733ed36b28b7932b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "A hs_bindgen_test_reparse_733ed36b28b7932b (void) { return ret_A(); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_A",
            commentLocation = Just
              "reparse.h:47:3",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_char1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCChar)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_954b53887fa8a7bf",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "char hs_bindgen_test_reparse_954b53887fa8a7bf (A arg1) { return ret_char1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimChar
                (PrimSignImplicit Nothing))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_char1",
            commentLocation = Just
              "reparse.h:49:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_char2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCSChar)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_20d1e28fced60632",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed char hs_bindgen_test_reparse_20d1e28fced60632 (A arg1) { return ret_char2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimChar
                (PrimSignExplicit Signed))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_char2",
            commentLocation = Just
              "reparse.h:50:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_char3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCUChar)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e55f76ceed24192d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "unsigned char hs_bindgen_test_reparse_e55f76ceed24192d (A arg1) { return ret_char3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimChar
                (PrimSignExplicit Unsigned))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_char3",
            commentLocation = Just
              "reparse.h:51:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_short1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCShort)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1b8d9484010475fd",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed short hs_bindgen_test_reparse_1b8d9484010475fd (A arg1) { return ret_short1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimShort
                Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_short1",
            commentLocation = Just
              "reparse.h:53:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_short2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCShort)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_9b4291556b50f99f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed short hs_bindgen_test_reparse_9b4291556b50f99f (A arg1) { return ret_short2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimShort
                Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_short2",
            commentLocation = Just
              "reparse.h:54:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_short3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCUShort)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_658bd87f6fba088a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "unsigned short hs_bindgen_test_reparse_658bd87f6fba088a (A arg1) { return ret_short3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimShort
                Unsigned)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_short3",
            commentLocation = Just
              "reparse.h:55:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_int1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f39ba97cac5f7b69",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_reparse_f39ba97cac5f7b69 (A arg1) { return ret_int1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_int1",
            commentLocation = Just
              "reparse.h:57:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_int2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2811bb2a6c369ff8",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_reparse_2811bb2a6c369ff8 (A arg1) { return ret_int2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_int2",
            commentLocation = Just
              "reparse.h:58:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_int3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCUInt)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4d1047d184259f2a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "unsigned int hs_bindgen_test_reparse_4d1047d184259f2a (A arg1) { return ret_int3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimInt
                Unsigned)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_int3",
            commentLocation = Just
              "reparse.h:59:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_long1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCLong)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_fe651b499cb756e7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed long hs_bindgen_test_reparse_fe651b499cb756e7 (A arg1) { return ret_long1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimLong Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_long1",
            commentLocation = Just
              "reparse.h:61:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_long2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCLong)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e1e78ae00ab5d6fb",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed long hs_bindgen_test_reparse_e1e78ae00ab5d6fb (A arg1) { return ret_long2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimLong Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_long2",
            commentLocation = Just
              "reparse.h:62:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_long3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCULong)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_dc6449bb75895cea",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "unsigned long hs_bindgen_test_reparse_dc6449bb75895cea (A arg1) { return ret_long3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral
                PrimLong
                Unsigned)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_long3",
            commentLocation = Just
              "reparse.h:63:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_float",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCFloat)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7ae67ab94cf0f147",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "float hs_bindgen_test_reparse_7ae67ab94cf0f147 (A arg1) { return ret_float(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimFloating PrimFloat)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_float",
            commentLocation = Just
              "reparse.h:65:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_double",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPrimType HsPrimCDouble)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_8a715139fcb185f1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "double hs_bindgen_test_reparse_8a715139fcb185f1 (A arg1) { return ret_double(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimFloating PrimDouble)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_double",
            commentLocation = Just
              "reparse.h:66:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_bool1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_330b3d59b2b9e0ac",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_reparse_330b3d59b2b9e0ac (A arg1) { return ret_bool1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_bool1",
            commentLocation = Just
              "reparse.h:67:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_struct_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        HeapResultType
          (HsPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_struct"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_843df9379b58bc51",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_843df9379b58bc51 (A arg1, struct some_struct *arg2) { *arg2 = ret_struct(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeStruct
              NamePair {
                nameC = Name "some_struct",
                nameHsIdent = Identifier
                  "Some_struct"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_struct",
            commentLocation = Just
              "reparse.h:69:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_union_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        HeapResultType
          (HsPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_union"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d1fb1f1235b044ef",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_d1fb1f1235b044ef (A arg1, union some_union *arg2) { *arg2 = ret_union(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeUnion
              NamePair {
                nameC = Name "some_union",
                nameHsIdent = Identifier
                  "Some_union"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_union",
            commentLocation = Just
              "reparse.h:70:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_enum",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_enum"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5706a52e565b1a0c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "enum some_enum hs_bindgen_test_reparse_5706a52e565b1a0c (A arg1) { return ret_enum(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeEnum
              NamePair {
                nameC = Name "some_enum",
                nameHsIdent = Identifier
                  "Some_enum"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "ret_enum",
            commentLocation = Just
              "reparse.h:71:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_pointer1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1539645657f24f97",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int *hs_bindgen_test_reparse_1539645657f24f97 (A arg1) { return ret_pointer1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypePrim
                (PrimIntegral PrimInt Signed))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_pointer1",
            commentLocation = Just
              "reparse.h:73:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_pointer2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPtr
                (HsPrimType HsPrimCInt)))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_14db602035a357c9",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int **hs_bindgen_test_reparse_14db602035a357c9 (A arg1) { return ret_pointer2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypePointer
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_pointer2",
            commentLocation = Just
              "reparse.h:74:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_pointer3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimVoid))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_347fc9fe6ee0e39f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void *hs_bindgen_test_reparse_347fc9fe6ee0e39f (A arg1) { return ret_pointer3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_pointer3",
            commentLocation = Just
              "reparse.h:75:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "body1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_31d344eb39edbb32",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_reparse_31d344eb39edbb32 (A arg1) { return body1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "body1",
            commentLocation = Just
              "reparse.h:79:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "body2",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_9a49ad9d6fd009aa",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "A hs_bindgen_test_reparse_9a49ad9d6fd009aa (void) { return body2(); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "body2",
            commentLocation = Just
              "reparse.h:80:3",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_complex_float_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsComplexType HsPrimCFloat),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f09e648ac9470faf",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_f09e648ac9470faf (A arg1, float _Complex *arg2) { args_complex_float(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeComplex
                  (PrimFloating PrimFloat))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_complex_float",
            commentLocation = Just
              "reparse.h:84:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "args_complex_double_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsComplexType HsPrimCDouble),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a334455360f1e746",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_a334455360f1e746 (A arg1, double _Complex *arg2) { args_complex_double(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeComplex
                  (PrimFloating PrimDouble))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "args_complex_double",
            commentLocation = Just
              "reparse.h:85:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_complex_float_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        HeapResultType
          (HsPtr
            (HsComplexType HsPrimCFloat)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0c94b79e37a671f3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_0c94b79e37a671f3 (A arg1, float _Complex *arg2) { *arg2 = ret_complex_float(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeComplex
              (PrimFloating PrimFloat)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_complex_float",
            commentLocation = Just
              "reparse.h:86:17",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "ret_complex_double_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        HeapResultType
          (HsPtr
            (HsComplexType HsPrimCDouble)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_52e016b143848038",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_52e016b143848038 (A arg1, double _Complex *arg2) { *arg2 = ret_complex_double(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeComplex
              (PrimFloating PrimDouble)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "ret_complex_double",
            commentLocation = Just
              "reparse.h:87:17",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "bespoke_args1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_28f85791b3039264",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_28f85791b3039264 (A arg1, _Bool arg2) { bespoke_args1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim PrimBool)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "bespoke_args1",
            commentLocation = Just
              "reparse.h:94:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "bespoke_args2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSize,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_833c75e57b012dcc",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_833c75e57b012dcc (A arg1, size_t arg2) { bespoke_args2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePrim PrimSize)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "bespoke_args2",
            commentLocation = Just
              "reparse.h:95:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "bespoke_ret1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_434418d9d1f41c66",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_reparse_434418d9d1f41c66 (A arg1) { return bespoke_ret1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "bespoke_ret1",
            commentLocation = Just
              "reparse.h:97:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "bespoke_ret2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCSize)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7a13d4c1ed935df0",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "size_t hs_bindgen_test_reparse_7a13d4c1ed935df0 (A arg1) { return bespoke_ret2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimSize},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "bespoke_ret2",
            commentLocation = Just
              "reparse.h:98:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "arr_args1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_802c66e1efc0f556",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_802c66e1efc0f556 (A *arg1) { arr_args1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [TextContent "Arrays"],
            commentOrigin = Just
              "arr_args1",
            commentLocation = Just
              "reparse.h:104:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "arr_args2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f516070848930af9",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_f516070848930af9 (A **arg1) { arr_args2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_args2",
            commentLocation = Just
              "reparse.h:105:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "arr_args3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c0db4046bcf7da77",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_c0db4046bcf7da77 (A *arg1) { arr_args3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeConstArray
                  5
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_args3",
            commentLocation = Just
              "reparse.h:106:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "arr_args4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_881ede0e81c9ed45",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_881ede0e81c9ed45 (A **arg1) { arr_args4(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeConstArray
                  5
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "arr_args4",
            commentLocation = Just
              "reparse.h:107:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsIO (HsPrimType HsPrimUnit)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_91151b594cc92e09",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_91151b594cc92e09 (A arg1, void (*arg2) (void)) { funptr_args1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun [] TypeVoid))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Function pointers"],
            commentOrigin = Just
              "funptr_args1",
            commentLocation = Just
              "reparse.h:126:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsIO (HsPrimType HsPrimCInt)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_543290455260832c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_543290455260832c (A arg1, signed int (*arg2) (void)) { funptr_args2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    []
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_args2",
            commentLocation = Just
              "reparse.h:127:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO (HsPrimType HsPrimUnit))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_fbdf924574cb6295",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_fbdf924574cb6295 (A arg1, void (*arg2) (signed int arg1)) { funptr_args3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    [
                      TypePrim
                        (PrimIntegral PrimInt Signed)]
                    TypeVoid))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_args3",
            commentLocation = Just
              "reparse.h:128:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPrimType HsPrimCChar)))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5e0a2c10ccd9a8c4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_5e0a2c10ccd9a8c4 (A arg1, char (*arg2) (signed int arg1, double arg2)) { funptr_args4(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    [
                      TypePrim
                        (PrimIntegral PrimInt Signed),
                      TypePrim
                        (PrimFloating PrimDouble)]
                    (TypePrim
                      (PrimChar
                        (PrimSignImplicit Nothing)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_args4",
            commentLocation = Just
              "reparse.h:129:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_args5",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c13f66d86b4b5ef6",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_c13f66d86b4b5ef6 (A arg1, signed int *(*arg2) (signed int arg1, double arg2)) { funptr_args5(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    [
                      TypePrim
                        (PrimIntegral PrimInt Signed),
                      TypePrim
                        (PrimFloating PrimDouble)]
                    (TypePointer
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_args5",
            commentLocation = Just
              "reparse.h:130:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "comments1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0b54f704cff3ab9b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_0b54f704cff3ab9b (A arg1) { comments1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Comments in awkward places"],
            commentOrigin = Just
              "comments1",
            commentLocation = Just
              "reparse.h:144:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "(Prior to language-c we failed to parse there.)"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_before1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4a390ee488c3a1b1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_4a390ee488c3a1b1 (A arg1, char const arg2) { const_prim_before1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit Nothing))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment =
        Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "`const` qualifier"],
            commentOrigin = Just
              "const_prim_before1",
            commentLocation = Just
              "reparse.h:179:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren =
            [
              Paragraph
                [
                  TextContent
                    "NOTE: These were not parsed correctly prior to the switch to language-c."]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_before2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_349252e982c28bae",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_349252e982c28bae (A arg1, signed char const arg2) { const_prim_before2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignExplicit Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_before2",
            commentLocation = Just
              "reparse.h:180:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_before3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7ffeb1784fe8b2f2",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_7ffeb1784fe8b2f2 (A arg1, unsigned char const arg2) { const_prim_before3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignExplicit Unsigned))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_before3",
            commentLocation = Just
              "reparse.h:181:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_after1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0dae8ba3b65c77d2",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_0dae8ba3b65c77d2 (A arg1, char const arg2) { const_prim_after1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit Nothing))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_after1",
            commentLocation = Just
              "reparse.h:182:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_after2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_dc74f73eff3fac62",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_dc74f73eff3fac62 (A arg1, signed char const arg2) { const_prim_after2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignExplicit Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_after2",
            commentLocation = Just
              "reparse.h:183:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_prim_after3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCUChar,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_aeea75713b67f6d8",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_aeea75713b67f6d8 (A arg1, unsigned char const arg2) { const_prim_after3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignExplicit Unsigned))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_prim_after3",
            commentLocation = Just
              "reparse.h:184:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCFloat,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_9f70419bf10f327e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_9f70419bf10f327e (A arg1, float const arg2) { const_withoutSign_before1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimFloating PrimFloat)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before1",
            commentLocation = Just
              "reparse.h:188:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCDouble,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7867bb0d71ef4b6d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_7867bb0d71ef4b6d (A arg1, double const arg2) { const_withoutSign_before2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimFloating PrimDouble)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before2",
            commentLocation = Just
              "reparse.h:189:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_80de805eb016225b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_80de805eb016225b (A arg1, _Bool const arg2) { const_withoutSign_before3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimBool))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before3",
            commentLocation = Just
              "reparse.h:190:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before4_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_struct")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_69cef8742b4b119b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_69cef8742b4b119b (A arg1, struct some_struct const *arg2) { const_withoutSign_before4(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeStruct
                    NamePair {
                      nameC = Name "some_struct",
                      nameHsIdent = Identifier
                        "Some_struct"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before4",
            commentLocation = Just
              "reparse.h:191:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before5_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_union")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1ad5aadb8be4d493",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_1ad5aadb8be4d493 (A arg1, union some_union const *arg2) { const_withoutSign_before5(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeUnion
                    NamePair {
                      nameC = Name "some_union",
                      nameHsIdent = Identifier
                        "Some_union"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before5",
            commentLocation = Just
              "reparse.h:192:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before6",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_enum"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7106059de99b7682",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_7106059de99b7682 (A arg1, enum some_enum const arg2) { const_withoutSign_before6(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeEnum
                    NamePair {
                      nameC = Name "some_enum",
                      nameHsIdent = Identifier
                        "Some_enum"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before6",
            commentLocation = Just
              "reparse.h:193:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before7",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b61cf3c21bf8b00b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_b61cf3c21bf8b00b (A arg1, _Bool const arg2) { const_withoutSign_before7(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimBool))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before7",
            commentLocation = Just
              "reparse.h:194:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_before8",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSize,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_47573f5eb4cb92a9",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_47573f5eb4cb92a9 (A arg1, size_t const arg2) { const_withoutSign_before8(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimSize))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_before8",
            commentLocation = Just
              "reparse.h:195:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCFloat,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ffb1a87ed1f94b31",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_ffb1a87ed1f94b31 (A arg1, float const arg2) { const_withoutSign_after1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimFloating PrimFloat)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after1",
            commentLocation = Just
              "reparse.h:197:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCDouble,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1ec7c37faacfcd64",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_1ec7c37faacfcd64 (A arg1, double const arg2) { const_withoutSign_after2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimFloating PrimDouble)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after2",
            commentLocation = Just
              "reparse.h:198:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_34233036f1e22371",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_34233036f1e22371 (A arg1, _Bool const arg2) { const_withoutSign_after3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimBool))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after3",
            commentLocation = Just
              "reparse.h:199:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after4_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_struct")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4c909292e290aa0a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_4c909292e290aa0a (A arg1, struct some_struct const *arg2) { const_withoutSign_after4(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeStruct
                    NamePair {
                      nameC = Name "some_struct",
                      nameHsIdent = Identifier
                        "Some_struct"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after4",
            commentLocation = Just
              "reparse.h:200:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after5_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Some_union")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ab1abd31c91696b9",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_ab1abd31c91696b9 (A arg1, union some_union const *arg2) { const_withoutSign_after5(arg1, *arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeUnion
                    NamePair {
                      nameC = Name "some_union",
                      nameHsIdent = Identifier
                        "Some_union"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after5",
            commentLocation = Just
              "reparse.h:201:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after6",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Some_enum"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_342c1139871906f3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_342c1139871906f3 (A arg1, enum some_enum const arg2) { const_withoutSign_after6(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypeEnum
                    NamePair {
                      nameC = Name "some_enum",
                      nameHsIdent = Identifier
                        "Some_enum"}
                    NameOriginInSource))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after6",
            commentLocation = Just
              "reparse.h:202:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after7",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCBool,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_446758003fdc3418",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_446758003fdc3418 (A arg1, _Bool const arg2) { const_withoutSign_after7(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimBool))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after7",
            commentLocation = Just
              "reparse.h:203:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_withoutSign_after8",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType =
            HsPrimType HsPrimCSize,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_161f0b5d4c06966c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_161f0b5d4c06966c (A arg1, size_t const arg2) { const_withoutSign_after8(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim PrimSize))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_withoutSign_after8",
            commentLocation = Just
              "reparse.h:204:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ec8e91fa9341dad6",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_ec8e91fa9341dad6 (A arg1, signed int const *arg2) { const_pointers_args1(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args1",
            commentLocation = Just
              "reparse.h:208:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_cf24549623cd56c1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_cf24549623cd56c1 (A arg1, signed int const *arg2) { const_pointers_args2(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args2",
            commentLocation = Just
              "reparse.h:209:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_71cfb5062c931668",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_71cfb5062c931668 (A arg1, signed int *const arg2) { const_pointers_args3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args3",
            commentLocation = Just
              "reparse.h:210:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_74894da577575f87",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_74894da577575f87 (A arg1, signed int const *const arg2) { const_pointers_args4(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args4",
            commentLocation = Just
              "reparse.h:211:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_args5",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCInt),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5493c91c677fe8d0",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_5493c91c677fe8d0 (A arg1, signed int const *const arg2) { const_pointers_args5(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_args5",
            commentLocation = Just
              "reparse.h:212:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a302fca87b1aa099",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *hs_bindgen_test_reparse_a302fca87b1aa099 (A arg1) { return const_pointers_ret1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret1",
            commentLocation = Just
              "reparse.h:214:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_825f0c60f6c63862",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *hs_bindgen_test_reparse_825f0c60f6c63862 (A arg1) { return const_pointers_ret2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret2",
            commentLocation = Just
              "reparse.h:215:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c36f7d270a11e1cd",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int *const hs_bindgen_test_reparse_c36f7d270a11e1cd (A arg1) { return const_pointers_ret3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret3",
            commentLocation = Just
              "reparse.h:216:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4a82390c6e38a4ad",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *const hs_bindgen_test_reparse_4a82390c6e38a4ad (A arg1) { return const_pointers_ret4(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret4",
            commentLocation = Just
              "reparse.h:217:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_pointers_ret5",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_763d600d2f5c49bb",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *const hs_bindgen_test_reparse_763d600d2f5c49bb (A arg1) { return const_pointers_ret5(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_pointers_ret5",
            commentLocation = Just
              "reparse.h:218:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_array_elem1_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name "@NsTypeConstr" "A")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4b3bef3ab591a329",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_4b3bef3ab591a329 (A const *arg1) { const_array_elem1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_array_elem1",
            commentLocation = Just
              "reparse.h:246:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_array_elem2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_dd69ef198e368a38",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_dd69ef198e368a38 (A const **arg1) { const_array_elem2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_array_elem2",
            commentLocation = Just
              "reparse.h:247:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "const_array_elem3_wrapper",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsPtr
              (HsPtr
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1842bc8653aa9c3f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_1842bc8653aa9c3f (A *const *arg1) { const_array_elem3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeIncompleteArray
                  (TypeQualified
                    TypeQualifierConst
                    (TypePointer
                      (TypeMacroTypedef
                        NamePair {
                          nameC = Name "A",
                          nameHsIdent = Identifier "A"}
                        NameOriginInSource))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "const_array_elem3",
            commentLocation = Just
              "reparse.h:248:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "noParams1",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4c99a8a7824a66d4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "A hs_bindgen_test_reparse_4c99a8a7824a66d4 (void) { return noParams1(); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Other examples we reparsed /incorrectly/ before language-c"],
            commentOrigin = Just
              "noParams1",
            commentLocation = Just
              "reparse.h:256:3",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "noParams2",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name "@NsTypeConstr" "A"))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7ae14613ab7f3b03",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "A hs_bindgen_test_reparse_7ae14613ab7f3b03 (void) { return noParams2(); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "noParams2",
            commentLocation = Just
              "reparse.h:257:3",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "noParams3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg2"),
            functionParameterType = HsFunPtr
              (HsIO (HsPrimType HsPrimCInt)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg2",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimUnit)),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2f4d972da222d332",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void hs_bindgen_test_reparse_2f4d972da222d332 (A arg1, signed int (*arg2) (void)) { noParams3(arg1, arg2); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource),
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg2",
                    nameHsIdent = Identifier
                      "arg2"})
                (TypePointer
                  (TypeFun
                    []
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "noParams3",
            commentLocation = Just
              "reparse.h:258:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret1",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsIO
                (HsPrimType HsPrimUnit)))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_dbe5f5ae726e36b3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void (*hs_bindgen_test_reparse_dbe5f5ae726e36b3 (A arg1)) (void) { return funptr_ret1(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun [] TypeVoid)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret1",
            commentLocation = Just
              "reparse.h:262:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret2",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsIO
                (HsPrimType HsPrimCInt)))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_081cb5fbeb6f4506",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int (*hs_bindgen_test_reparse_081cb5fbeb6f4506 (A arg1)) (void) { return funptr_ret2(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                []
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed)))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret2",
            commentLocation = Just
              "reparse.h:263:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret3",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4fc16e9f894820ff",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void (*hs_bindgen_test_reparse_4fc16e9f894820ff (A arg1)) (signed int arg1) { return funptr_ret3(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed)]
                TypeVoid)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret3",
            commentLocation = Just
              "reparse.h:264:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret4",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPrimType HsPrimCChar)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_9e8aa8193619dbbe",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "char (*hs_bindgen_test_reparse_9e8aa8193619dbbe (A arg1)) (signed int arg1, double arg2) { return funptr_ret4(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit Nothing))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret4",
            commentLocation = Just
              "reparse.h:265:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret5",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4b914fec0c848647",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int *(*hs_bindgen_test_reparse_4b914fec0c848647 (A arg1)) (signed int arg1, double arg2) { return funptr_ret5(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret5",
            commentLocation = Just
              "reparse.h:269:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret6",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_6c188a6c3899a751",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *(*hs_bindgen_test_reparse_6c188a6c3899a751 (A arg1)) (signed int arg1, double arg2) { return funptr_ret6(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed)))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret6",
            commentLocation = Just
              "reparse.h:270:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret7",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e4468a6e0afe686b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *(*hs_bindgen_test_reparse_e4468a6e0afe686b (A arg1)) (signed int arg1, double arg2) { return funptr_ret7(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed)))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret7",
            commentLocation = Just
              "reparse.h:271:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret8",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_16740b4fc6d6c8ec",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int *const (*hs_bindgen_test_reparse_16740b4fc6d6c8ec (A arg1)) (signed int arg1, double arg2) { return funptr_ret8(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed)))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret8",
            commentLocation = Just
              "reparse.h:272:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret9",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d82b69157b543190",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *const (*hs_bindgen_test_reparse_d82b69157b543190 (A arg1)) (signed int arg1, double arg2) { return funptr_ret9(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed))))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret9",
            commentLocation = Just
              "reparse.h:273:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "funptr_ret10",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "arg1"),
            functionParameterType = HsTypRef
              (Name "@NsTypeConstr" "A"),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "arg1",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_317f5f7c8c2496cd",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int const *const (*hs_bindgen_test_reparse_317f5f7c8c2496cd (A arg1)) (signed int arg1, double arg2) { return funptr_ret10(arg1); }",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "arg1",
                    nameHsIdent = Identifier
                      "arg1"})
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed))))))},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "funptr_ret10",
            commentLocation = Just
              "reparse.h:274:20",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["reparse.h"],
                headerInclude = "reparse.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_1cbcf8b84924816c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1cbcf8b84924816c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_char1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_1cbcf8b84924816c (void)) (A arg1, char arg2) { return &args_char1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimChar
                  (PrimSignImplicit Nothing))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_ec2d78b82f444fd0",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCSChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ec2d78b82f444fd0",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_char2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_ec2d78b82f444fd0 (void)) (A arg1, signed char arg2) { return &args_char2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimChar
                  (PrimSignExplicit Signed))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_1baa18e723594389",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCUChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1baa18e723594389",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_char3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_1baa18e723594389 (void)) (A arg1, unsigned char arg2) { return &args_char3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimChar
                  (PrimSignExplicit Unsigned))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_c96cef4ef5f5e180",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCShort)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c96cef4ef5f5e180",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_short1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_c96cef4ef5f5e180 (void)) (A arg1, signed short arg2) { return &args_short1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral PrimShort Signed)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_3a683552d4f772c7",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCShort)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3a683552d4f772c7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_short2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_3a683552d4f772c7 (void)) (A arg1, signed short arg2) { return &args_short2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral PrimShort Signed)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_f3284022ac706255",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCUShort)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f3284022ac706255",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_short3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_f3284022ac706255 (void)) (A arg1, unsigned short arg2) { return &args_short3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral
                  PrimShort
                  Unsigned)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_5c4d785286ccca6b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCInt)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5c4d785286ccca6b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_int1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_5c4d785286ccca6b (void)) (A arg1, signed int arg2) { return &args_int1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral PrimInt Signed)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_e323b837afe40be7",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCInt)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e323b837afe40be7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_int2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_e323b837afe40be7 (void)) (A arg1, signed int arg2) { return &args_int2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral PrimInt Signed)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_eb0e5feb8eb4082d",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCUInt)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_eb0e5feb8eb4082d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_int3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_eb0e5feb8eb4082d (void)) (A arg1, unsigned int arg2) { return &args_int3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral PrimInt Unsigned)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_d7d322f23a65f43b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCLong)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d7d322f23a65f43b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_long1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_d7d322f23a65f43b (void)) (A arg1, signed long arg2) { return &args_long1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral PrimLong Signed)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_378c16768a6f6f21",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCLong)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_378c16768a6f6f21",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_long2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_378c16768a6f6f21 (void)) (A arg1, signed long arg2) { return &args_long2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral PrimLong Signed)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_548dcd4760226ee2",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCULong)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_548dcd4760226ee2",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_long3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_548dcd4760226ee2 (void)) (A arg1, unsigned long arg2) { return &args_long3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimIntegral
                  PrimLong
                  Unsigned)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_701d01261043851b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCFloat)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_701d01261043851b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_float_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_701d01261043851b (void)) (A arg1, float arg2) { return &args_float; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimFloating PrimFloat)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_ff631e42f704e4cd",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ff631e42f704e4cd",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_double_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_ff631e42f704e4cd (void)) (A arg1, double arg2) { return &args_double; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim
                (PrimFloating PrimDouble)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_6e289c6cc6d382bf",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCBool)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_6e289c6cc6d382bf",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_bool1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_6e289c6cc6d382bf (void)) (A arg1, _Bool arg2) { return &args_bool1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim PrimBool]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_26b20c1b89e46b02",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_struct"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_26b20c1b89e46b02",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_struct_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_26b20c1b89e46b02 (void)) (A arg1, struct some_struct arg2) { return &args_struct; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeStruct
                NamePair {
                  nameC = Name "some_struct",
                  nameHsIdent = Identifier
                    "Some_struct"}
                NameOriginInSource]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_cfd37f06f21b8755",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_union"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_cfd37f06f21b8755",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_union_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_cfd37f06f21b8755 (void)) (A arg1, union some_union arg2) { return &args_union; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeUnion
                NamePair {
                  nameC = Name "some_union",
                  nameHsIdent = Identifier
                    "Some_union"}
                NameOriginInSource]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_69882f8f862fffc2",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_enum"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_69882f8f862fffc2",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_enum_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_69882f8f862fffc2 (void)) (A arg1, enum some_enum arg2) { return &args_enum; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeEnum
                NamePair {
                  nameC = Name "some_enum",
                  nameHsIdent = Identifier
                    "Some_enum"}
                NameOriginInSource]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_23bde4e97b66c470",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPtr (HsPrimType HsPrimCInt))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_23bde4e97b66c470",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_pointer1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_23bde4e97b66c470 (void)) (A arg1, signed int *arg2) { return &args_pointer1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypePrim
                  (PrimIntegral PrimInt Signed))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_fceb546239df3c0a",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPtr
                    (HsPtr (HsPrimType HsPrimCInt)))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_fceb546239df3c0a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_pointer2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_fceb546239df3c0a (void)) (A arg1, signed int **arg2) { return &args_pointer2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypePointer
                  (TypePrim
                    (PrimIntegral PrimInt Signed)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_0cb396fb06dd816a",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPtr (HsPrimType HsPrimVoid))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0cb396fb06dd816a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_pointer3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_0cb396fb06dd816a (void)) (A arg1, void *arg2) { return &args_pointer3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer TypeVoid]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_a7564eacf3ad149f",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsIO
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a7564eacf3ad149f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_A_ptr */ __attribute__ ((const)) A (*hs_bindgen_test_reparse_a7564eacf3ad149f (void)) (void) { return &ret_A; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            []
            (TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_7b5b646ee4e06777",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCChar))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7b5b646ee4e06777",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_char1_ptr */ __attribute__ ((const)) char (*hs_bindgen_test_reparse_7b5b646ee4e06777 (void)) (A arg1) { return &ret_char1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimChar
                (PrimSignImplicit Nothing)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_7c05cbccaf1be8b6",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCSChar))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7c05cbccaf1be8b6",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_char2_ptr */ __attribute__ ((const)) signed char (*hs_bindgen_test_reparse_7c05cbccaf1be8b6 (void)) (A arg1) { return &ret_char2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimChar
                (PrimSignExplicit Signed)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_0fc74f839f906d7e",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCUChar))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0fc74f839f906d7e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_char3_ptr */ __attribute__ ((const)) unsigned char (*hs_bindgen_test_reparse_0fc74f839f906d7e (void)) (A arg1) { return &ret_char3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimChar
                (PrimSignExplicit Unsigned)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_72ff9f5cb5daaae8",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCShort))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_72ff9f5cb5daaae8",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_short1_ptr */ __attribute__ ((const)) signed short (*hs_bindgen_test_reparse_72ff9f5cb5daaae8 (void)) (A arg1) { return &ret_short1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral
                PrimShort
                Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_eb5427ff3ea0d96e",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCShort))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_eb5427ff3ea0d96e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_short2_ptr */ __attribute__ ((const)) signed short (*hs_bindgen_test_reparse_eb5427ff3ea0d96e (void)) (A arg1) { return &ret_short2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral
                PrimShort
                Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_823adc61eed1550c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCUShort))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_823adc61eed1550c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_short3_ptr */ __attribute__ ((const)) unsigned short (*hs_bindgen_test_reparse_823adc61eed1550c (void)) (A arg1) { return &ret_short3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral
                PrimShort
                Unsigned))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_79ce8d81113cf766",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_79ce8d81113cf766",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_int1_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_reparse_79ce8d81113cf766 (void)) (A arg1) { return &ret_int1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_d369bd4861f00c84",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d369bd4861f00c84",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_int2_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_reparse_d369bd4861f00c84 (void)) (A arg1) { return &ret_int2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_0336d583fc7b5951",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCUInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0336d583fc7b5951",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_int3_ptr */ __attribute__ ((const)) unsigned int (*hs_bindgen_test_reparse_0336d583fc7b5951 (void)) (A arg1) { return &ret_int3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral
                PrimInt
                Unsigned))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_36845109a4ce7992",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCLong))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_36845109a4ce7992",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_long1_ptr */ __attribute__ ((const)) signed long (*hs_bindgen_test_reparse_36845109a4ce7992 (void)) (A arg1) { return &ret_long1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral
                PrimLong
                Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_ac32dbc1e79e704e",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCLong))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ac32dbc1e79e704e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_long2_ptr */ __attribute__ ((const)) signed long (*hs_bindgen_test_reparse_ac32dbc1e79e704e (void)) (A arg1) { return &ret_long2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral
                PrimLong
                Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_6fba85ecad7d8d4e",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCULong))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_6fba85ecad7d8d4e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_long3_ptr */ __attribute__ ((const)) unsigned long (*hs_bindgen_test_reparse_6fba85ecad7d8d4e (void)) (A arg1) { return &ret_long3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral
                PrimLong
                Unsigned))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_e9ac779a7c943add",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCFloat))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e9ac779a7c943add",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_float_ptr */ __attribute__ ((const)) float (*hs_bindgen_test_reparse_e9ac779a7c943add (void)) (A arg1) { return &ret_float; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimFloating PrimFloat))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_7095a5f5be3ecc0c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCDouble))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7095a5f5be3ecc0c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_double_ptr */ __attribute__ ((const)) double (*hs_bindgen_test_reparse_7095a5f5be3ecc0c (void)) (A arg1) { return &ret_double; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimFloating PrimDouble))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_c7b5be49f4314899",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCBool))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c7b5be49f4314899",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_bool1_ptr */ __attribute__ ((const)) _Bool (*hs_bindgen_test_reparse_c7b5be49f4314899 (void)) (A arg1) { return &ret_bool1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim PrimBool)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_03ec23cf81b62ce3",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_struct")))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_03ec23cf81b62ce3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_struct_ptr */ __attribute__ ((const)) struct some_struct (*hs_bindgen_test_reparse_03ec23cf81b62ce3 (void)) (A arg1) { return &ret_struct; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypeStruct
              NamePair {
                nameC = Name "some_struct",
                nameHsIdent = Identifier
                  "Some_struct"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_5315544d48ea5b07",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_union")))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5315544d48ea5b07",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_union_ptr */ __attribute__ ((const)) union some_union (*hs_bindgen_test_reparse_5315544d48ea5b07 (void)) (A arg1) { return &ret_union; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypeUnion
              NamePair {
                nameC = Name "some_union",
                nameHsIdent = Identifier
                  "Some_union"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_9fb7ddbcd84c72f1",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_enum")))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_9fb7ddbcd84c72f1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_enum_ptr */ __attribute__ ((const)) enum some_enum (*hs_bindgen_test_reparse_9fb7ddbcd84c72f1 (void)) (A arg1) { return &ret_enum; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypeEnum
              NamePair {
                nameC = Name "some_enum",
                nameHsIdent = Identifier
                  "Some_enum"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_0638bcad8813a303",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPtr
                    (HsPrimType HsPrimCInt)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_0638bcad8813a303",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_pointer1_ptr */ __attribute__ ((const)) signed int *(*hs_bindgen_test_reparse_0638bcad8813a303 (void)) (A arg1) { return &ret_pointer1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypePrim
                (PrimIntegral
                  PrimInt
                  Signed)))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_5d9ced9e4887782b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPtr
                    (HsPtr
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5d9ced9e4887782b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_pointer2_ptr */ __attribute__ ((const)) signed int **(*hs_bindgen_test_reparse_5d9ced9e4887782b (void)) (A arg1) { return &ret_pointer2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypePointer
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_60e99361ec0a4b5b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPtr
                    (HsPrimType HsPrimVoid)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_60e99361ec0a4b5b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_pointer3_ptr */ __attribute__ ((const)) void *(*hs_bindgen_test_reparse_60e99361ec0a4b5b (void)) (A arg1) { return &ret_pointer3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer TypeVoid)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_cca1935605a94051",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_cca1935605a94051",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_body1_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_reparse_cca1935605a94051 (void)) (A arg1) { return &body1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_a1900daea7e14e95",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsIO
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a1900daea7e14e95",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_body2_ptr */ __attribute__ ((const)) A (*hs_bindgen_test_reparse_a1900daea7e14e95 (void)) (void) { return &body2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            []
            (TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_c62f1e9d47469a1c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsComplexType HsPrimCFloat)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c62f1e9d47469a1c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_complex_float_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_c62f1e9d47469a1c (void)) (A arg1, float _Complex arg2) { return &args_complex_float; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeComplex
                (PrimFloating PrimFloat)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_b2ef5ed0a8ed0697",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsComplexType HsPrimCDouble)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b2ef5ed0a8ed0697",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_args_complex_double_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_b2ef5ed0a8ed0697 (void)) (A arg1, double _Complex arg2) { return &args_complex_double; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeComplex
                (PrimFloating PrimDouble)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_e2cc2aa2dd12852d",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsComplexType
                    HsPrimCFloat))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e2cc2aa2dd12852d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_complex_float_ptr */ __attribute__ ((const)) float _Complex (*hs_bindgen_test_reparse_e2cc2aa2dd12852d (void)) (A arg1) { return &ret_complex_float; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypeComplex
              (PrimFloating PrimFloat))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_c95961d571f78868",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsComplexType
                    HsPrimCDouble))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c95961d571f78868",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_ret_complex_double_ptr */ __attribute__ ((const)) double _Complex (*hs_bindgen_test_reparse_c95961d571f78868 (void)) (A arg1) { return &ret_complex_double; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypeComplex
              (PrimFloating PrimDouble))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_94c8a2d3574ba283",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCBool)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_94c8a2d3574ba283",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_bespoke_args1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_94c8a2d3574ba283 (void)) (A arg1, _Bool arg2) { return &bespoke_args1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim PrimBool]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_2165985767a8d24e",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCSize)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2165985767a8d24e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_bespoke_args2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_2165985767a8d24e (void)) (A arg1, size_t arg2) { return &bespoke_args2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePrim PrimSize]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_7913bf38675bd912",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCBool))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_7913bf38675bd912",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_bespoke_ret1_ptr */ __attribute__ ((const)) _Bool (*hs_bindgen_test_reparse_7913bf38675bd912 (void)) (A arg1) { return &bespoke_ret1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim PrimBool)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_07c419cb648cdf65",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimCSize))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_07c419cb648cdf65",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_bespoke_ret2_ptr */ __attribute__ ((const)) size_t (*hs_bindgen_test_reparse_07c419cb648cdf65 (void)) (A arg1) { return &bespoke_ret2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePrim PrimSize)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_ed19e51bcac06a9e",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsIncompleteArray
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")))
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ed19e51bcac06a9e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_arr_args1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_ed19e51bcac06a9e (void)) (A arg1[]) { return &arr_args1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeIncompleteArray
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_de3931a21a8a71fc",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsIncompleteArray
                  (HsPtr
                    (HsTypRef
                      (Name "@NsTypeConstr" "A"))))
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_de3931a21a8a71fc",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_arr_args2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_de3931a21a8a71fc (void)) (A *arg1[]) { return &arr_args2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeIncompleteArray
                (TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_2c02effa6288a26b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsConstArray
                  5
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")))
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2c02effa6288a26b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_arr_args3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_2c02effa6288a26b (void)) (A arg1[5]) { return &arr_args3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeConstArray
                5
                (TypeMacroTypedef
                  NamePair {
                    nameC = Name "A",
                    nameHsIdent = Identifier "A"}
                  NameOriginInSource)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_2144e300082f115c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsConstArray
                  5
                  (HsPtr
                    (HsTypRef
                      (Name "@NsTypeConstr" "A"))))
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2144e300082f115c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_arr_args4_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_2144e300082f115c (void)) (A *arg1[5]) { return &arr_args4; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeConstArray
                5
                (TypePointer
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_d1645262a53743f6",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsFunPtr
                    (HsIO (HsPrimType HsPrimUnit)))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d1645262a53743f6",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_args1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_d1645262a53743f6 (void)) (A arg1, void (*arg2) (void)) { return &funptr_args1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypeFun [] TypeVoid)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_d66507630e4e38e3",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsFunPtr
                    (HsIO (HsPrimType HsPrimCInt)))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d66507630e4e38e3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_args2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_d66507630e4e38e3 (void)) (A arg1, signed int (*arg2) (void)) { return &funptr_args2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypeFun
                  []
                  (TypePrim
                    (PrimIntegral PrimInt Signed)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_3d7907ab53b617cf",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsIO (HsPrimType HsPrimUnit))))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3d7907ab53b617cf",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_args3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_3d7907ab53b617cf (void)) (A arg1, void (*arg2) (signed int arg1)) { return &funptr_args3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypeFun
                  [
                    TypePrim
                      (PrimIntegral PrimInt Signed)]
                  TypeVoid)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_e4d15a9c3b04292a",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPrimType HsPrimCChar)))))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e4d15a9c3b04292a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_args4_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_e4d15a9c3b04292a (void)) (A arg1, char (*arg2) (signed int arg1, double arg2)) { return &funptr_args4; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypeFun
                  [
                    TypePrim
                      (PrimIntegral PrimInt Signed),
                    TypePrim
                      (PrimFloating PrimDouble)]
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit Nothing))))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_ced7918b6e42102f",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPtr
                            (HsPrimType HsPrimCInt))))))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ced7918b6e42102f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_args5_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_ced7918b6e42102f (void)) (A arg1, signed int *(*arg2) (signed int arg1, double arg2)) { return &funptr_args5; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypeFun
                  [
                    TypePrim
                      (PrimIntegral PrimInt Signed),
                    TypePrim
                      (PrimFloating PrimDouble)]
                  (TypePointer
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_c90ec05081ef4e64",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c90ec05081ef4e64",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_comments1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_c90ec05081ef4e64 (void)) (A arg1) { return &comments1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_6ac4b42c66a36448",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_6ac4b42c66a36448",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_prim_before1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_6ac4b42c66a36448 (void)) (A arg1, char const arg2) { return &const_prim_before1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit Nothing)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_f98632ef2e69b003",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCSChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f98632ef2e69b003",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_prim_before2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_f98632ef2e69b003 (void)) (A arg1, signed char const arg2) { return &const_prim_before2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimChar
                    (PrimSignExplicit Signed)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_cc9db1f6a36b8221",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCUChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_cc9db1f6a36b8221",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_prim_before3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_cc9db1f6a36b8221 (void)) (A arg1, unsigned char const arg2) { return &const_prim_before3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimChar
                    (PrimSignExplicit Unsigned)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_3e5b7273bf2ecadb",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3e5b7273bf2ecadb",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_prim_after1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_3e5b7273bf2ecadb (void)) (A arg1, char const arg2) { return &const_prim_after1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit Nothing)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_f9b4beeca8253333",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCSChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f9b4beeca8253333",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_prim_after2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_f9b4beeca8253333 (void)) (A arg1, signed char const arg2) { return &const_prim_after2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimChar
                    (PrimSignExplicit Signed)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_bf14e2fd88b25311",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCUChar)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_bf14e2fd88b25311",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_prim_after3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_bf14e2fd88b25311 (void)) (A arg1, unsigned char const arg2) { return &const_prim_after3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimChar
                    (PrimSignExplicit Unsigned)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_3649293fcaa1543c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCFloat)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3649293fcaa1543c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_before1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_3649293fcaa1543c (void)) (A arg1, float const arg2) { return &const_withoutSign_before1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimFloating PrimFloat))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_ad5903c28e22dd2c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_ad5903c28e22dd2c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_before2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_ad5903c28e22dd2c (void)) (A arg1, double const arg2) { return &const_withoutSign_before2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimFloating PrimDouble))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_e7b9bc011ec1dd8a",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCBool)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e7b9bc011ec1dd8a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_before3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_e7b9bc011ec1dd8a (void)) (A arg1, _Bool const arg2) { return &const_withoutSign_before3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim PrimBool)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_4fd66b696848dd98",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_struct"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4fd66b696848dd98",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_before4_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_4fd66b696848dd98 (void)) (A arg1, struct some_struct const arg2) { return &const_withoutSign_before4; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypeStruct
                  NamePair {
                    nameC = Name "some_struct",
                    nameHsIdent = Identifier
                      "Some_struct"}
                  NameOriginInSource)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_42582e1882927f7e",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_union"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_42582e1882927f7e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_before5_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_42582e1882927f7e (void)) (A arg1, union some_union const arg2) { return &const_withoutSign_before5; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypeUnion
                  NamePair {
                    nameC = Name "some_union",
                    nameHsIdent = Identifier
                      "Some_union"}
                  NameOriginInSource)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_b6876e53e4b27a98",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_enum"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b6876e53e4b27a98",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_before6_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_b6876e53e4b27a98 (void)) (A arg1, enum some_enum const arg2) { return &const_withoutSign_before6; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypeEnum
                  NamePair {
                    nameC = Name "some_enum",
                    nameHsIdent = Identifier
                      "Some_enum"}
                  NameOriginInSource)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_78763cbecd2b0750",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCBool)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_78763cbecd2b0750",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_before7_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_78763cbecd2b0750 (void)) (A arg1, _Bool const arg2) { return &const_withoutSign_before7; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim PrimBool)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_4098c4a4ccd31d36",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCSize)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_4098c4a4ccd31d36",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_before8_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_4098c4a4ccd31d36 (void)) (A arg1, size_t const arg2) { return &const_withoutSign_before8; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim PrimSize)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_e9148eb7b8dac901",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCFloat)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_e9148eb7b8dac901",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_after1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_e9148eb7b8dac901 (void)) (A arg1, float const arg2) { return &const_withoutSign_after1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimFloating PrimFloat))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_8663653d89116be9",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCDouble)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_8663653d89116be9",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_after2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_8663653d89116be9 (void)) (A arg1, double const arg2) { return &const_withoutSign_after2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimFloating PrimDouble))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_136dcba145bf241b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCBool)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_136dcba145bf241b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_after3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_136dcba145bf241b (void)) (A arg1, _Bool const arg2) { return &const_withoutSign_after3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim PrimBool)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_380e01acce794cab",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_struct"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_380e01acce794cab",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_after4_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_380e01acce794cab (void)) (A arg1, struct some_struct const arg2) { return &const_withoutSign_after4; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypeStruct
                  NamePair {
                    nameC = Name "some_struct",
                    nameHsIdent = Identifier
                      "Some_struct"}
                  NameOriginInSource)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_af0d84d0757f6c2c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_union"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_af0d84d0757f6c2c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_after5_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_af0d84d0757f6c2c (void)) (A arg1, union some_union const arg2) { return &const_withoutSign_after5; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypeUnion
                  NamePair {
                    nameC = Name "some_union",
                    nameHsIdent = Identifier
                      "Some_union"}
                  NameOriginInSource)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_df92501d07bf6c5f",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Some_enum"))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_df92501d07bf6c5f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_after6_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_df92501d07bf6c5f (void)) (A arg1, enum some_enum const arg2) { return &const_withoutSign_after6; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypeEnum
                  NamePair {
                    nameC = Name "some_enum",
                    nameHsIdent = Identifier
                      "Some_enum"}
                  NameOriginInSource)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_b41148ca40ec8eb5",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCBool)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b41148ca40ec8eb5",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_after7_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_b41148ca40ec8eb5 (void)) (A arg1, _Bool const arg2) { return &const_withoutSign_after7; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim PrimBool)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_560c9dfdb530548b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPrimType HsPrimCSize)
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_560c9dfdb530548b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_withoutSign_after8_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_560c9dfdb530548b (void)) (A arg1, size_t const arg2) { return &const_withoutSign_after8; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePrim PrimSize)]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_a34d16c099748839",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPtr (HsPrimType HsPrimCInt))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a34d16c099748839",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_args1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_a34d16c099748839 (void)) (A arg1, signed int const *arg2) { return &const_pointers_args1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimIntegral PrimInt Signed)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_45235edaf5c3b599",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPtr (HsPrimType HsPrimCInt))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_45235edaf5c3b599",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_args2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_45235edaf5c3b599 (void)) (A arg1, signed int const *arg2) { return &const_pointers_args2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimIntegral PrimInt Signed)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_3dbcf1c7202f2878",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPtr (HsPrimType HsPrimCInt))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3dbcf1c7202f2878",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_args3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_3dbcf1c7202f2878 (void)) (A arg1, signed int *const arg2) { return &const_pointers_args3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePointer
                  (TypePrim
                    (PrimIntegral PrimInt Signed)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_a6624f6cc0a062af",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPtr (HsPrimType HsPrimCInt))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_a6624f6cc0a062af",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_args4_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_a6624f6cc0a062af (void)) (A arg1, signed int const *const arg2) { return &const_pointers_args4; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_c5f3253c57910315",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsPtr (HsPrimType HsPrimCInt))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c5f3253c57910315",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_args5_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_c5f3253c57910315 (void)) (A arg1, signed int const *const arg2) { return &const_pointers_args5; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypeQualified
                TypeQualifierConst
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_1990ded85ea3850d",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPtr
                    (HsPrimType HsPrimCInt)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_1990ded85ea3850d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_ret1_ptr */ __attribute__ ((const)) signed int const *(*hs_bindgen_test_reparse_1990ded85ea3850d (void)) (A arg1) { return &const_pointers_ret1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_627cc570c3ca7d19",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPtr
                    (HsPrimType HsPrimCInt)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_627cc570c3ca7d19",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_ret2_ptr */ __attribute__ ((const)) signed int const *(*hs_bindgen_test_reparse_627cc570c3ca7d19 (void)) (A arg1) { return &const_pointers_ret2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeQualified
                TypeQualifierConst
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_2f449708b5a275b1",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPtr
                    (HsPrimType HsPrimCInt)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2f449708b5a275b1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_ret3_ptr */ __attribute__ ((const)) signed int *const (*hs_bindgen_test_reparse_2f449708b5a275b1 (void)) (A arg1) { return &const_pointers_ret3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_67662618cd011c8a",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPtr
                    (HsPrimType HsPrimCInt)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_67662618cd011c8a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_ret4_ptr */ __attribute__ ((const)) signed int const *const (*hs_bindgen_test_reparse_67662618cd011c8a (void)) (A arg1) { return &const_pointers_ret4; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed)))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_fcafd9f8ac329995",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsPtr
                    (HsPrimType HsPrimCInt)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_fcafd9f8ac329995",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_pointers_ret5_ptr */ __attribute__ ((const)) signed int const *const (*hs_bindgen_test_reparse_fcafd9f8ac329995 (void)) (A arg1) { return &const_pointers_ret5; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypeQualified
              TypeQualifierConst
              (TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed)))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_6928906fc9a88dfc",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsIncompleteArray
                  (HsTypRef
                    (Name "@NsTypeConstr" "A")))
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_6928906fc9a88dfc",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_array_elem1_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_6928906fc9a88dfc (void)) (A const arg1[]) { return &const_array_elem1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeIncompleteArray
                (TypeQualified
                  TypeQualifierConst
                  (TypeMacroTypedef
                    NamePair {
                      nameC = Name "A",
                      nameHsIdent = Identifier "A"}
                    NameOriginInSource))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_625a37e9c030891a",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsIncompleteArray
                  (HsPtr
                    (HsTypRef
                      (Name "@NsTypeConstr" "A"))))
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_625a37e9c030891a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_array_elem2_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_625a37e9c030891a (void)) (A const *arg1[]) { return &const_array_elem2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeIncompleteArray
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_5e23f87114cf51fb",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsIncompleteArray
                  (HsPtr
                    (HsTypRef
                      (Name "@NsTypeConstr" "A"))))
                (HsIO
                  (HsPrimType HsPrimUnit))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_5e23f87114cf51fb",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_const_array_elem3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_5e23f87114cf51fb (void)) (A *const arg1[]) { return &const_array_elem3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeIncompleteArray
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeMacroTypedef
                      NamePair {
                        nameC = Name "A",
                        nameHsIdent = Identifier "A"}
                      NameOriginInSource)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_d50620a002265139",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsIO
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_d50620a002265139",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_noParams1_ptr */ __attribute__ ((const)) A (*hs_bindgen_test_reparse_d50620a002265139 (void)) (void) { return &noParams1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            []
            (TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_03b0e24786b82ad5",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsIO
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_03b0e24786b82ad5",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_noParams2_ptr */ __attribute__ ((const)) A (*hs_bindgen_test_reparse_03b0e24786b82ad5 (void)) (void) { return &noParams2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            []
            (TypeMacroTypedef
              NamePair {
                nameC = Name "A",
                nameHsIdent = Identifier "A"}
              NameOriginInSource)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_36508fd99a0556c5",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsFun
                  (HsFunPtr
                    (HsIO (HsPrimType HsPrimCInt)))
                  (HsIO
                    (HsPrimType HsPrimUnit)))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_36508fd99a0556c5",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_noParams3_ptr */ __attribute__ ((const)) void (*hs_bindgen_test_reparse_36508fd99a0556c5 (void)) (A arg1, signed int (*arg2) (void)) { return &noParams3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource,
              TypePointer
                (TypeFun
                  []
                  (TypePrim
                    (PrimIntegral PrimInt Signed)))]
            TypeVoid),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_6f83a48dd177c25f",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsIO
                      (HsPrimType HsPrimUnit))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_6f83a48dd177c25f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret1_ptr */ __attribute__ ((const)) void (*(*hs_bindgen_test_reparse_6f83a48dd177c25f (void)) (A arg1)) (void) { return &funptr_ret1; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun [] TypeVoid))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_f12efafd1525ef7f",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsIO
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_f12efafd1525ef7f",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret2_ptr */ __attribute__ ((const)) signed int (*(*hs_bindgen_test_reparse_f12efafd1525ef7f (void)) (A arg1)) (void) { return &funptr_ret2; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                []
                (TypePrim
                  (PrimIntegral
                    PrimInt
                    Signed))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_b00baa5b9708b9e7",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsIO
                        (HsPrimType HsPrimUnit)))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_b00baa5b9708b9e7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret3_ptr */ __attribute__ ((const)) void (*(*hs_bindgen_test_reparse_b00baa5b9708b9e7 (void)) (A arg1)) (signed int arg1) { return &funptr_ret3; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed)]
                TypeVoid))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_c51872479ceff42e",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPrimType
                            HsPrimCChar))))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_c51872479ceff42e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret4_ptr */ __attribute__ ((const)) char (*(*hs_bindgen_test_reparse_c51872479ceff42e (void)) (A arg1)) (signed int arg1, double arg2) { return &funptr_ret4; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit Nothing)))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_3b9b9924b4b4d7ea",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPtr
                            (HsPrimType
                              HsPrimCInt)))))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3b9b9924b4b4d7ea",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret5_ptr */ __attribute__ ((const)) signed int *(*(*hs_bindgen_test_reparse_3b9b9924b4b4d7ea (void)) (A arg1)) (signed int arg1, double arg2) { return &funptr_ret5; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypePrim
                    (PrimIntegral
                      PrimInt
                      Signed)))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_3df5ab4b0b306845",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPtr
                            (HsPrimType
                              HsPrimCInt)))))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_3df5ab4b0b306845",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret6_ptr */ __attribute__ ((const)) signed int const *(*(*hs_bindgen_test_reparse_3df5ab4b0b306845 (void)) (A arg1)) (signed int arg1, double arg2) { return &funptr_ret6; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_2ac4454d93b6f04a",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPtr
                            (HsPrimType
                              HsPrimCInt)))))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_2ac4454d93b6f04a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret7_ptr */ __attribute__ ((const)) signed int const *(*(*hs_bindgen_test_reparse_2ac4454d93b6f04a (void)) (A arg1)) (signed int arg1, double arg2) { return &funptr_ret7; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_411c5128f18364b3",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPtr
                            (HsPrimType
                              HsPrimCInt)))))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_411c5128f18364b3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret8_ptr */ __attribute__ ((const)) signed int *const (*(*hs_bindgen_test_reparse_411c5128f18364b3 (void)) (A arg1)) (signed int arg1, double arg2) { return &funptr_ret8; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Signed))))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_693a8d16e17d0cdc",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPtr
                            (HsPrimType
                              HsPrimCInt)))))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_693a8d16e17d0cdc",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret9_ptr */ __attribute__ ((const)) signed int const *const (*(*hs_bindgen_test_reparse_693a8d16e17d0cdc (void)) (A arg1)) (signed int arg1, double arg2) { return &funptr_ret9; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed)))))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_reparse_9d2da81bbfe49ab6",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsTypRef
                  (Name "@NsTypeConstr" "A"))
                (HsIO
                  (HsFunPtr
                    (HsFun
                      (HsPrimType HsPrimCInt)
                      (HsFun
                        (HsPrimType HsPrimCDouble)
                        (HsIO
                          (HsPtr
                            (HsPrimType
                              HsPrimCInt)))))))))),
        foreignImportOrigName =
        "hs_bindgen_test_reparse_9d2da81bbfe49ab6",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_funptr_ret10_ptr */ __attribute__ ((const)) signed int const *const (*(*hs_bindgen_test_reparse_9d2da81bbfe49ab6 (void)) (A arg1)) (signed int arg1, double arg2) { return &funptr_ret10; } ",
            capiWrapperImport =
            "reparse.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeMacroTypedef
                NamePair {
                  nameC = Name "A",
                  nameHsIdent = Identifier "A"}
                NameOriginInSource]
            (TypePointer
              (TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePrim
                    (PrimFloating PrimDouble)]
                (TypeQualified
                  TypeQualifierConst
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimIntegral
                          PrimInt
                          Signed)))))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple]
  