content: [
    DeclVar
      VarDecl {
        varDeclName = Name
          "@NsVar"
          "mAX_NAME_LENGTH",
        varDeclType = ForallTy {
          forallTyBinders = [],
          forallTy = QuantTy {
            quantTyCts = [],
            quantTyBody = TyConAppTy
              (ATyCon
                (GenerativeTyCon
                  (DataTyCon IntLikeTyCon)))
              [
                TyConAppTy
                  (ATyCon
                    (GenerativeTyCon
                      (DataTyCon
                        (IntLikeTyCon
                          (CIntegralType
                            (IntLike (Int Signed)))))))
                  []]}},
        varDeclBody = VarDeclIntegral
          64
          HsPrimCInt,
        varDeclComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "MAX_NAME_LENGTH",
            commentLocation = Just
              "doxygen_docs.h:39:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = []}},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Size_type",
        newtypeConstr = Name
          "@NsConstr"
          "Size_type",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Size_type",
          fieldType = HsExtBinding
            ExtRef {
              extRefModule = ModuleName
                "HsBindgen.Runtime.Prelude",
              extRefIdentifier = Identifier
                "CSize"}
            CTypeSpec {
              cTypeSpecModule = Just
                (ModuleName
                  "HsBindgen.Runtime.Prelude"),
              cTypeSpecIdentifier = Just
                (Identifier "CSize"),
              cTypeSpecInstances =
              Map.fromList
                [
                  _×_
                    Bits
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Bounded
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Enum
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Eq
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    FiniteBits
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Integral
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Ix
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Num
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Ord
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Read
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    ReadRaw
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Real
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Show
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    StaticSize
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Storable
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    WriteRaw
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = [
                          ]})]},
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "doxygen_docs.h:54:16",
            declId = NamePair {
              nameC = Name "size_type",
              nameHsIdent = Identifier
                "Size_type"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "This is the comment",
                      InlineCommand {
                        inlineCommandName = "b",
                        inlineCommandRenderKind =
                        CXCommentInlineCommandRenderKind_Bold,
                        inlineCommandArgs = ["title"]},
                      TextContent ""],
                  VerbatimLine "size_type",
                  Paragraph [TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Size type for this library"]}])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Size_type",
                newtypeField = Name
                  "@NsVar"
                  "un_Size_type"},
              typedefType = TypeExtBinding
                ResolvedExtBinding {
                  extCName = QualName {
                    qualNameName = Name "size_t",
                    qualNameKind =
                    NameKindOrdinary},
                  extHsRef = ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "CSize"},
                  extHsSpec = CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "CSize"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]}}},
          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
                  "This is the comment",
                Bold [TextContent "title"]],
            commentOrigin = Just
              "size_type",
            commentLocation = Just
              "doxygen_docs.h:54:16",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Verbatim "size_type",
              Paragraph
                [
                  TextContent
                    "Size type for this library"]]}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Size_type",
        deriveInstanceComment =
        Nothing},
    DeclEmpty
      EmptyData {
        emptyDataName = Name
          "@NsTypeConstr"
          "Forward_declared_struct",
        emptyDataOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "doxygen_docs.h:72:8",
            declId = NamePair {
              nameC = Name
                "forward_declared_struct",
              nameHsIdent = Identifier
                "Forward_declared_struct"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "This is the comment",
                      InlineCommand {
                        inlineCommandName = "c",
                        inlineCommandRenderKind =
                        CXCommentInlineCommandRenderKind_Monospaced,
                        inlineCommandArgs = ["title"]},
                      TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Forward declaration with documentation"]}])},
          declKind = Opaque
            (NameKindTagged TagKindStruct),
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        emptyDataComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "This is the comment",
                Monospace
                  [TextContent "title"]],
            commentOrigin = Just
              "forward_declared_struct",
            commentLocation = Just
              "doxygen_docs.h:72:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Forward declaration with documentation"]]}},
    DeclEmpty
      EmptyData {
        emptyDataName = Name
          "@NsTypeConstr"
          "Forward_declared_union",
        emptyDataOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "doxygen_docs.h:77:7",
            declId = NamePair {
              nameC = Name
                "forward_declared_union",
              nameHsIdent = Identifier
                "Forward_declared_union"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph [TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Forward declaration of union"]}])},
          declKind = Opaque
            (NameKindTagged TagKindUnion),
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        emptyDataComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "forward_declared_union",
            commentLocation = Just
              "doxygen_docs.h:77:7",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Forward declaration of union"]]}},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Color_enum",
        newtypeConstr = Name
          "@NsConstr"
          "Color_enum",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Color_enum",
          fieldType = HsPrimType
            HsPrimCUInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "doxygen_docs.h:83:6",
            declId = NamePair {
              nameC = Name "color_enum",
              nameHsIdent = Identifier
                "Color_enum"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph [TextContent ""],
                  VerbatimLine "color_enum",
                  Paragraph [TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Color enumeration without typedef"]}])},
          declKind = Enum
            Enum {
              enumNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Color_enum",
                newtypeField = Name
                  "@NsVar"
                  "un_Color_enum"},
              enumType = TypePrim
                (PrimIntegral PrimInt Unsigned),
              enumSizeof = 4,
              enumAlignment = 4,
              enumConstants = [
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:84:5",
                    fieldName = NamePair {
                      nameC = Name "COLOR_RED",
                      nameHsIdent = Identifier
                        "COLOR_RED"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph
                            [TextContent "Red color"]])},
                  enumConstantValue = 0},
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:85:5",
                    fieldName = NamePair {
                      nameC = Name "COLOR_GREEN",
                      nameHsIdent = Identifier
                        "COLOR_GREEN"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph
                            [TextContent "Green color"]])},
                  enumConstantValue = 1},
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:86:5",
                    fieldName = NamePair {
                      nameC = Name "COLOR_BLUE",
                      nameHsIdent = Identifier
                        "COLOR_BLUE"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph
                            [TextContent "Blue color"]])},
                  enumConstantValue = 2}]},
          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
              "color_enum",
            commentLocation = Just
              "doxygen_docs.h:83:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Verbatim "color_enum",
              Paragraph
                [
                  TextContent
                    "Color enumeration without typedef"]]}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Color_enum",
            structConstr = Name
              "@NsConstr"
              "Color_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Color_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"
                      "Color_enum",
                    structConstr = Name
                      "@NsConstr"
                      "Color_enum",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "un_Color_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"
                      "Color_enum",
                    structConstr = Name
                      "@NsConstr"
                      "Color_enum",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "un_Color_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"
          "Color_enum",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Color_enum",
        deriveInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceCEnum
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Color_enum",
            structConstr = Name
              "@NsConstr"
              "Color_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Color_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 ["COLOR_RED"]),
              _×_
                1
                (NE.fromList ["COLOR_GREEN"]),
              _×_
                2
                (NE.fromList ["COLOR_BLUE"])])
          True,
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceSequentialCEnum
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Color_enum",
            structConstr = Name
              "@NsConstr"
              "Color_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Color_enum",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = GeneratedField,
                fieldComment = Nothing}],
            structOrigin = Nothing,
            structInstances = Set.fromList
              [Eq, Ord, Read, Show, Storable],
            structComment = Nothing}
          (Name "@NsConstr" "COLOR_RED")
          (Name "@NsConstr" "COLOR_BLUE"),
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceCEnumShow
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Color_enum",
            structConstr = Name
              "@NsConstr"
              "Color_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Color_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"
              "Color_enum",
            structConstr = Name
              "@NsConstr"
              "Color_enum",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Color_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"
          "COLOR_RED",
        patSynType = Name
          "@NsTypeConstr"
          "Color_enum",
        patSynConstr = Name
          "@NsConstr"
          "Color_enum",
        patSynValue = 0,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc =
              "doxygen_docs.h:84:5",
              fieldName = NamePair {
                nameC = Name "COLOR_RED",
                nameHsIdent = Identifier
                  "COLOR_RED"},
              fieldComment = Just
                (Comment
                  [
                    Paragraph
                      [TextContent "Red color"]])},
            enumConstantValue = 0},
        patSynComment = Just
          Comment {
            commentTitle = Just
              [TextContent "Red color"],
            commentOrigin = Just
              "COLOR_RED",
            commentLocation = Just
              "doxygen_docs.h:84:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = []}},
    DeclPatSyn
      PatSyn {
        patSynName = Name
          "@NsConstr"
          "COLOR_GREEN",
        patSynType = Name
          "@NsTypeConstr"
          "Color_enum",
        patSynConstr = Name
          "@NsConstr"
          "Color_enum",
        patSynValue = 1,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc =
              "doxygen_docs.h:85:5",
              fieldName = NamePair {
                nameC = Name "COLOR_GREEN",
                nameHsIdent = Identifier
                  "COLOR_GREEN"},
              fieldComment = Just
                (Comment
                  [
                    Paragraph
                      [TextContent "Green color"]])},
            enumConstantValue = 1},
        patSynComment = Just
          Comment {
            commentTitle = Just
              [TextContent "Green color"],
            commentOrigin = Just
              "COLOR_GREEN",
            commentLocation = Just
              "doxygen_docs.h:85:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = []}},
    DeclPatSyn
      PatSyn {
        patSynName = Name
          "@NsConstr"
          "COLOR_BLUE",
        patSynType = Name
          "@NsTypeConstr"
          "Color_enum",
        patSynConstr = Name
          "@NsConstr"
          "Color_enum",
        patSynValue = 2,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc =
              "doxygen_docs.h:86:5",
              fieldName = NamePair {
                nameC = Name "COLOR_BLUE",
                nameHsIdent = Identifier
                  "COLOR_BLUE"},
              fieldComment = Just
                (Comment
                  [
                    Paragraph
                      [TextContent "Blue color"]])},
            enumConstantValue = 2},
        patSynComment = Just
          Comment {
            commentTitle = Just
              [TextContent "Blue color"],
            commentOrigin = Just
              "COLOR_BLUE",
            commentLocation = Just
              "doxygen_docs.h:86:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = []}},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Event_callback_t_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Event_callback_t_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Event_callback_t_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPtr (HsPrimType HsPrimVoid))
              (HsIO (HsPrimType HsPrimCInt))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "doxygen_docs.h:225:15",
            declId = NamePair {
              nameC = Name
                "event_callback_t_Deref",
              nameHsIdent = Identifier
                "Event_callback_t_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId
                "doxygen_docs.h:225:15"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "event_callback_t",
                            nameHsIdent = Identifier
                              "Event_callback_t"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Event_callback_t_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Event_callback_t_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePointer TypeVoid]
                (TypePrim
                  (PrimIntegral PrimInt Signed))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Event_callback_t"],
            commentOrigin = Nothing,
            commentLocation = Just
              "doxygen_docs.h:225:15",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toEvent_callback_t_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Event_callback_t_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Event_callback_t_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePointer TypeVoid]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromEvent_callback_t_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Event_callback_t_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Event_callback_t_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePointer TypeVoid]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Event_callback_t_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toEvent_callback_t_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Event_callback_t_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromEvent_callback_t_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Event_callback_t",
        newtypeConstr = Name
          "@NsConstr"
          "Event_callback_t",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Event_callback_t",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Event_callback_t_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "doxygen_docs.h:225:15",
            declId = NamePair {
              nameC = Name "event_callback_t",
              nameHsIdent = Identifier
                "Event_callback_t"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph [TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Callback function type"]},
                  Paragraph [TextContent ""],
                  ParamCommand {
                    paramCommandName = "event_type",
                    paramCommandIndex = Just 0,
                    paramCommandDirection = Just
                      CXCommentParamPassDirection_In,
                    paramCommandIsDirectionExplicit =
                    False,
                    paramCommandContent = [
                      Paragraph
                        [
                          TextContent "Type of event",
                          TextContent ""]]},
                  ParamCommand {
                    paramCommandName = "user_data",
                    paramCommandIndex = Just 1,
                    paramCommandDirection = Just
                      CXCommentParamPassDirection_In,
                    paramCommandIsDirectionExplicit =
                    False,
                    paramCommandContent = [
                      Paragraph
                        [
                          TextContent
                            "User-provided data",
                          TextContent ""]]},
                  BlockCommand {
                    blockCommandName = "return",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Handling result"]}])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Event_callback_t",
                newtypeField = Name
                  "@NsVar"
                  "un_Event_callback_t"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "event_callback_t_Deref",
                      nameHsIdent = Identifier
                        "Event_callback_t_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePointer TypeVoid]
                      (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
              "event_callback_t",
            commentLocation = Just
              "doxygen_docs.h:225:15",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Callback function type"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "event_type"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Type of event"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "user_data"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "User-provided data"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Handling result"]]}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Event_callback_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Event_callback_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Event_callback_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Event_callback_t",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "Config_t",
        structConstr = Name
          "@NsConstr"
          "Config_t",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "config_t_id",
            fieldType = HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "Word32"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "Word32"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:234:14",
                  fieldName = NamePair {
                    nameC = Name "id",
                    nameHsIdent = Identifier
                      "config_t_id"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Unique identifier"]}])},
                structFieldType = TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "uint32_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "Word32"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "Word32"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}},
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "id",
                commentLocation = Just
                  "doxygen_docs.h:234:14",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Unique identifier"]]}},
          Field {
            fieldName = Name
              "@NsVar"
              "config_t_name",
            fieldType = HsConstArray
              64
              (HsPrimType HsPrimCChar),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:237:10",
                  fieldName = NamePair {
                    nameC = Name "name",
                    nameHsIdent = Identifier
                      "config_t_name"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Human-readable name"]}])},
                structFieldType = TypeConstArray
                  64
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit
                        (Just Signed)))),
                structFieldOffset = 32,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "name",
                commentLocation = Just
                  "doxygen_docs.h:237:10",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Human-readable name"]]}},
          Field {
            fieldName = Name
              "@NsVar"
              "config_t_flags",
            fieldType = HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "Word32"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "Word32"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:240:14",
                  fieldName = NamePair {
                    nameC = Name "flags",
                    nameHsIdent = Identifier
                      "config_t_flags"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Configuration flags"]}])},
                structFieldType = TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "uint32_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "Word32"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "Word32"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}},
                structFieldOffset = 544,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "flags",
                commentLocation = Just
                  "doxygen_docs.h:240:14",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Configuration flags"]]}},
          Field {
            fieldName = Name
              "@NsVar"
              "config_t_callback",
            fieldType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Event_callback_t"),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:247:22",
                  fieldName = NamePair {
                    nameC = Name "callback",
                    nameHsIdent = Identifier
                      "config_t_callback"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Optional callback function"]},
                        Paragraph
                          [
                            TextContent "See also:",
                            InlineRefCommand
                              (ById
                                NamePair {
                                  nameC = Name "event_callback_t",
                                  nameHsIdent = Identifier
                                    "Event_callback_t"})],
                        Paragraph [TextContent ""]])},
                structFieldType = TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name "event_callback_t",
                      nameHsIdent = Identifier
                        "Event_callback_t"}
                    (TypePointer
                      (TypeFun
                        [
                          TypePrim
                            (PrimIntegral PrimInt Signed),
                          TypePointer TypeVoid]
                        (TypePrim
                          (PrimIntegral
                            PrimInt
                            Signed))))),
                structFieldOffset = 576,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "callback",
                commentLocation = Just
                  "doxygen_docs.h:247:22",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Optional callback function"],
                  Paragraph
                    [
                      TextContent "See also:",
                      Identifier
                        "Event_callback_t"]]}},
          Field {
            fieldName = Name
              "@NsVar"
              "config_t_user_data",
            fieldType = HsPtr
              (HsPrimType HsPrimVoid),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:250:11",
                  fieldName = NamePair {
                    nameC = Name "user_data",
                    nameHsIdent = Identifier
                      "config_t_user_data"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "User data for callback"]}])},
                structFieldType = TypePointer
                  TypeVoid,
                structFieldOffset = 640,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "user_data",
                commentLocation = Just
                  "doxygen_docs.h:250:11",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "User data for callback"]]}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "doxygen_docs.h:232:9",
              declId = NamePair {
                nameC = Name "config_t",
                nameHsIdent = Identifier
                  "Config_t"},
              declOrigin = NameOriginGenerated
                (AnonId "doxygen_docs.h:232:9"),
              declAliases = [Name "config_t"],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["doxygen_docs.h"],
                  headerInclude =
                  "doxygen_docs.h"},
              declComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Structure with documented fields"]},
                    Paragraph
                      [
                        TextContent
                          "This structure demonstrates field documentation."]])},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name "@NsConstr" "Config_t"),
                structSizeof = 88,
                structAlignment = 8,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:234:14",
                      fieldName = NamePair {
                        nameC = Name "id",
                        nameHsIdent = Identifier
                          "config_t_id"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Unique identifier"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint32_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word32"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word32"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:237:10",
                      fieldName = NamePair {
                        nameC = Name "name",
                        nameHsIdent = Identifier
                          "config_t_name"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Human-readable name"]}])},
                    structFieldType = TypeConstArray
                      64
                      (TypePrim
                        (PrimChar
                          (PrimSignImplicit
                            (Just Signed)))),
                    structFieldOffset = 32,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:240:14",
                      fieldName = NamePair {
                        nameC = Name "flags",
                        nameHsIdent = Identifier
                          "config_t_flags"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Configuration flags"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint32_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word32"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word32"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 544,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:247:22",
                      fieldName = NamePair {
                        nameC = Name "callback",
                        nameHsIdent = Identifier
                          "config_t_callback"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Optional callback function"]},
                            Paragraph
                              [
                                TextContent "See also:",
                                InlineRefCommand
                                  (ById
                                    NamePair {
                                      nameC = Name "event_callback_t",
                                      nameHsIdent = Identifier
                                        "Event_callback_t"})],
                            Paragraph [TextContent ""]])},
                    structFieldType = TypeTypedef
                      (TypedefRegular
                        NamePair {
                          nameC = Name "event_callback_t",
                          nameHsIdent = Identifier
                            "Event_callback_t"}
                        (TypePointer
                          (TypeFun
                            [
                              TypePrim
                                (PrimIntegral PrimInt Signed),
                              TypePointer TypeVoid]
                            (TypePrim
                              (PrimIntegral
                                PrimInt
                                Signed))))),
                    structFieldOffset = 576,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:250:11",
                      fieldName = NamePair {
                        nameC = Name "user_data",
                        nameHsIdent = Identifier
                          "config_t_user_data"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "User data for callback"]}])},
                    structFieldType = TypePointer
                      TypeVoid,
                    structFieldOffset = 640,
                    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 = Nothing,
            commentLocation = Just
              "doxygen_docs.h:232:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Structure with documented fields"],
              Paragraph
                [
                  TextContent
                    "This structure demonstrates field documentation."]]}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Config_t",
            structConstr = Name
              "@NsConstr"
              "Config_t",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "config_t_id",
                fieldType = HsExtBinding
                  ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "Word32"}
                  CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "Word32"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]},
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:234:14",
                      fieldName = NamePair {
                        nameC = Name "id",
                        nameHsIdent = Identifier
                          "config_t_id"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Unique identifier"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint32_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word32"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word32"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "id",
                    commentLocation = Just
                      "doxygen_docs.h:234:14",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Unique identifier"]]}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "config_t_name",
                fieldType = HsConstArray
                  64
                  (HsPrimType HsPrimCChar),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:237:10",
                      fieldName = NamePair {
                        nameC = Name "name",
                        nameHsIdent = Identifier
                          "config_t_name"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Human-readable name"]}])},
                    structFieldType = TypeConstArray
                      64
                      (TypePrim
                        (PrimChar
                          (PrimSignImplicit
                            (Just Signed)))),
                    structFieldOffset = 32,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "name",
                    commentLocation = Just
                      "doxygen_docs.h:237:10",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Human-readable name"]]}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "config_t_flags",
                fieldType = HsExtBinding
                  ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "Word32"}
                  CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "Word32"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]},
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:240:14",
                      fieldName = NamePair {
                        nameC = Name "flags",
                        nameHsIdent = Identifier
                          "config_t_flags"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Configuration flags"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint32_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word32"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word32"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 544,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "flags",
                    commentLocation = Just
                      "doxygen_docs.h:240:14",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Configuration flags"]]}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "config_t_callback",
                fieldType = HsTypRef
                  (Name
                    "@NsTypeConstr"
                    "Event_callback_t"),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:247:22",
                      fieldName = NamePair {
                        nameC = Name "callback",
                        nameHsIdent = Identifier
                          "config_t_callback"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Optional callback function"]},
                            Paragraph
                              [
                                TextContent "See also:",
                                InlineRefCommand
                                  (ById
                                    NamePair {
                                      nameC = Name "event_callback_t",
                                      nameHsIdent = Identifier
                                        "Event_callback_t"})],
                            Paragraph [TextContent ""]])},
                    structFieldType = TypeTypedef
                      (TypedefRegular
                        NamePair {
                          nameC = Name "event_callback_t",
                          nameHsIdent = Identifier
                            "Event_callback_t"}
                        (TypePointer
                          (TypeFun
                            [
                              TypePrim
                                (PrimIntegral PrimInt Signed),
                              TypePointer TypeVoid]
                            (TypePrim
                              (PrimIntegral
                                PrimInt
                                Signed))))),
                    structFieldOffset = 576,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "callback",
                    commentLocation = Just
                      "doxygen_docs.h:247:22",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Optional callback function"],
                      Paragraph
                        [
                          TextContent "See also:",
                          Identifier
                            "Event_callback_t"]]}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "config_t_user_data",
                fieldType = HsPtr
                  (HsPrimType HsPrimVoid),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:250:11",
                      fieldName = NamePair {
                        nameC = Name "user_data",
                        nameHsIdent = Identifier
                          "config_t_user_data"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "User data for callback"]}])},
                    structFieldType = TypePointer
                      TypeVoid,
                    structFieldOffset = 640,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "user_data",
                    commentLocation = Just
                      "doxygen_docs.h:250:11",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "User data for callback"]]}}],
            structOrigin =
            Just
              Decl {
                declInfo =
                DeclInfo {
                  declLoc =
                  "doxygen_docs.h:232:9",
                  declId = NamePair {
                    nameC = Name "config_t",
                    nameHsIdent = Identifier
                      "Config_t"},
                  declOrigin = NameOriginGenerated
                    (AnonId "doxygen_docs.h:232:9"),
                  declAliases = [Name "config_t"],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["doxygen_docs.h"],
                      headerInclude =
                      "doxygen_docs.h"},
                  declComment =
                  Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Structure with documented fields"]},
                        Paragraph
                          [
                            TextContent
                              "This structure demonstrates field documentation."]])},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name "@NsConstr" "Config_t"),
                    structSizeof = 88,
                    structAlignment = 8,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:234:14",
                          fieldName = NamePair {
                            nameC = Name "id",
                            nameHsIdent = Identifier
                              "config_t_id"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Unique identifier"]}])},
                        structFieldType = TypeExtBinding
                          ResolvedExtBinding {
                            extCName = QualName {
                              qualNameName = Name "uint32_t",
                              qualNameKind =
                              NameKindOrdinary},
                            extHsRef = ExtRef {
                              extRefModule = ModuleName
                                "HsBindgen.Runtime.Prelude",
                              extRefIdentifier = Identifier
                                "Word32"},
                            extHsSpec = CTypeSpec {
                              cTypeSpecModule = Just
                                (ModuleName
                                  "HsBindgen.Runtime.Prelude"),
                              cTypeSpecIdentifier = Just
                                (Identifier "Word32"),
                              cTypeSpecInstances =
                              Map.fromList
                                [
                                  _×_
                                    Bits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Bounded
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Enum
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Eq
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    FiniteBits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Integral
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ix
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Num
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ord
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Read
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    ReadRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Real
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Show
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    StaticSize
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Storable
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    WriteRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = [
                                          ]})]}},
                        structFieldOffset = 0,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:237:10",
                          fieldName = NamePair {
                            nameC = Name "name",
                            nameHsIdent = Identifier
                              "config_t_name"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Human-readable name"]}])},
                        structFieldType = TypeConstArray
                          64
                          (TypePrim
                            (PrimChar
                              (PrimSignImplicit
                                (Just Signed)))),
                        structFieldOffset = 32,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:240:14",
                          fieldName = NamePair {
                            nameC = Name "flags",
                            nameHsIdent = Identifier
                              "config_t_flags"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Configuration flags"]}])},
                        structFieldType = TypeExtBinding
                          ResolvedExtBinding {
                            extCName = QualName {
                              qualNameName = Name "uint32_t",
                              qualNameKind =
                              NameKindOrdinary},
                            extHsRef = ExtRef {
                              extRefModule = ModuleName
                                "HsBindgen.Runtime.Prelude",
                              extRefIdentifier = Identifier
                                "Word32"},
                            extHsSpec = CTypeSpec {
                              cTypeSpecModule = Just
                                (ModuleName
                                  "HsBindgen.Runtime.Prelude"),
                              cTypeSpecIdentifier = Just
                                (Identifier "Word32"),
                              cTypeSpecInstances =
                              Map.fromList
                                [
                                  _×_
                                    Bits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Bounded
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Enum
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Eq
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    FiniteBits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Integral
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ix
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Num
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ord
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Read
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    ReadRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Real
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Show
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    StaticSize
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Storable
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    WriteRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = [
                                          ]})]}},
                        structFieldOffset = 544,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:247:22",
                          fieldName = NamePair {
                            nameC = Name "callback",
                            nameHsIdent = Identifier
                              "config_t_callback"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Optional callback function"]},
                                Paragraph
                                  [
                                    TextContent "See also:",
                                    InlineRefCommand
                                      (ById
                                        NamePair {
                                          nameC = Name "event_callback_t",
                                          nameHsIdent = Identifier
                                            "Event_callback_t"})],
                                Paragraph [TextContent ""]])},
                        structFieldType = TypeTypedef
                          (TypedefRegular
                            NamePair {
                              nameC = Name "event_callback_t",
                              nameHsIdent = Identifier
                                "Event_callback_t"}
                            (TypePointer
                              (TypeFun
                                [
                                  TypePrim
                                    (PrimIntegral PrimInt Signed),
                                  TypePointer TypeVoid]
                                (TypePrim
                                  (PrimIntegral
                                    PrimInt
                                    Signed))))),
                        structFieldOffset = 576,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:250:11",
                          fieldName = NamePair {
                            nameC = Name "user_data",
                            nameHsIdent = Identifier
                              "config_t_user_data"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "User data for callback"]}])},
                        structFieldType = TypePointer
                          TypeVoid,
                        structFieldOffset = 640,
                        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 = Nothing,
                commentLocation = Just
                  "doxygen_docs.h:232:9",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Structure with documented fields"],
                  Paragraph
                    [
                      TextContent
                        "This structure demonstrates field documentation."]]}}
          StorableInstance {
            storableSizeOf = 88,
            storableAlignment = 8,
            storablePeek =
            Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Config_t",
                    structConstr = Name
                      "@NsConstr"
                      "Config_t",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_id",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "Word32"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Word32"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:234:14",
                              fieldName = NamePair {
                                nameC = Name "id",
                                nameHsIdent = Identifier
                                  "config_t_id"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Unique identifier"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint32_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "Word32"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Word32"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "id",
                            commentLocation = Just
                              "doxygen_docs.h:234:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Unique identifier"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_name",
                        fieldType = HsConstArray
                          64
                          (HsPrimType HsPrimCChar),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:237:10",
                              fieldName = NamePair {
                                nameC = Name "name",
                                nameHsIdent = Identifier
                                  "config_t_name"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Human-readable name"]}])},
                            structFieldType = TypeConstArray
                              64
                              (TypePrim
                                (PrimChar
                                  (PrimSignImplicit
                                    (Just Signed)))),
                            structFieldOffset = 32,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "name",
                            commentLocation = Just
                              "doxygen_docs.h:237:10",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Human-readable name"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_flags",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "Word32"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Word32"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:240:14",
                              fieldName = NamePair {
                                nameC = Name "flags",
                                nameHsIdent = Identifier
                                  "config_t_flags"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Configuration flags"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint32_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "Word32"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Word32"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 544,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "flags",
                            commentLocation = Just
                              "doxygen_docs.h:240:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Configuration flags"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_callback",
                        fieldType = HsTypRef
                          (Name
                            "@NsTypeConstr"
                            "Event_callback_t"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:247:22",
                              fieldName = NamePair {
                                nameC = Name "callback",
                                nameHsIdent = Identifier
                                  "config_t_callback"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Optional callback function"]},
                                    Paragraph
                                      [
                                        TextContent "See also:",
                                        InlineRefCommand
                                          (ById
                                            NamePair {
                                              nameC = Name "event_callback_t",
                                              nameHsIdent = Identifier
                                                "Event_callback_t"})],
                                    Paragraph [TextContent ""]])},
                            structFieldType = TypeTypedef
                              (TypedefRegular
                                NamePair {
                                  nameC = Name "event_callback_t",
                                  nameHsIdent = Identifier
                                    "Event_callback_t"}
                                (TypePointer
                                  (TypeFun
                                    [
                                      TypePrim
                                        (PrimIntegral PrimInt Signed),
                                      TypePointer TypeVoid]
                                    (TypePrim
                                      (PrimIntegral
                                        PrimInt
                                        Signed))))),
                            structFieldOffset = 576,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "callback",
                            commentLocation = Just
                              "doxygen_docs.h:247:22",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Optional callback function"],
                              Paragraph
                                [
                                  TextContent "See also:",
                                  Identifier
                                    "Event_callback_t"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_user_data",
                        fieldType = HsPtr
                          (HsPrimType HsPrimVoid),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:250:11",
                              fieldName = NamePair {
                                nameC = Name "user_data",
                                nameHsIdent = Identifier
                                  "config_t_user_data"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "User data for callback"]}])},
                            structFieldType = TypePointer
                              TypeVoid,
                            structFieldOffset = 640,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "user_data",
                            commentLocation = Just
                              "doxygen_docs.h:250:11",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "User data for callback"]]}}],
                    structOrigin =
                    Just
                      Decl {
                        declInfo =
                        DeclInfo {
                          declLoc =
                          "doxygen_docs.h:232:9",
                          declId = NamePair {
                            nameC = Name "config_t",
                            nameHsIdent = Identifier
                              "Config_t"},
                          declOrigin = NameOriginGenerated
                            (AnonId "doxygen_docs.h:232:9"),
                          declAliases = [Name "config_t"],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["doxygen_docs.h"],
                              headerInclude =
                              "doxygen_docs.h"},
                          declComment =
                          Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Structure with documented fields"]},
                                Paragraph
                                  [
                                    TextContent
                                      "This structure demonstrates field documentation."]])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "Config_t"),
                            structSizeof = 88,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:234:14",
                                  fieldName = NamePair {
                                    nameC = Name "id",
                                    nameHsIdent = Identifier
                                      "config_t_id"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Unique identifier"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint32_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "Word32"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Word32"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:237:10",
                                  fieldName = NamePair {
                                    nameC = Name "name",
                                    nameHsIdent = Identifier
                                      "config_t_name"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Human-readable name"]}])},
                                structFieldType = TypeConstArray
                                  64
                                  (TypePrim
                                    (PrimChar
                                      (PrimSignImplicit
                                        (Just Signed)))),
                                structFieldOffset = 32,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:240:14",
                                  fieldName = NamePair {
                                    nameC = Name "flags",
                                    nameHsIdent = Identifier
                                      "config_t_flags"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Configuration flags"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint32_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "Word32"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Word32"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 544,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:247:22",
                                  fieldName = NamePair {
                                    nameC = Name "callback",
                                    nameHsIdent = Identifier
                                      "config_t_callback"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Optional callback function"]},
                                        Paragraph
                                          [
                                            TextContent "See also:",
                                            InlineRefCommand
                                              (ById
                                                NamePair {
                                                  nameC = Name "event_callback_t",
                                                  nameHsIdent = Identifier
                                                    "Event_callback_t"})],
                                        Paragraph [TextContent ""]])},
                                structFieldType = TypeTypedef
                                  (TypedefRegular
                                    NamePair {
                                      nameC = Name "event_callback_t",
                                      nameHsIdent = Identifier
                                        "Event_callback_t"}
                                    (TypePointer
                                      (TypeFun
                                        [
                                          TypePrim
                                            (PrimIntegral PrimInt Signed),
                                          TypePointer TypeVoid]
                                        (TypePrim
                                          (PrimIntegral
                                            PrimInt
                                            Signed))))),
                                structFieldOffset = 576,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:250:11",
                                  fieldName = NamePair {
                                    nameC = Name "user_data",
                                    nameHsIdent = Identifier
                                      "config_t_user_data"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "User data for callback"]}])},
                                structFieldType = TypePointer
                                  TypeVoid,
                                structFieldOffset = 640,
                                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 = Nothing,
                        commentLocation = Just
                          "doxygen_docs.h:232:9",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["doxygen_docs.h"],
                            headerInclude =
                            "doxygen_docs.h"},
                        commentChildren =
                        [
                          Paragraph
                            [
                              TextContent
                                "Structure with documented fields"],
                          Paragraph
                            [
                              TextContent
                                "This structure demonstrates field documentation."]]}})
                [
                  PeekByteOff (Idx 0) 0,
                  PeekByteOff (Idx 0) 4,
                  PeekByteOff (Idx 0) 68,
                  PeekByteOff (Idx 0) 72,
                  PeekByteOff (Idx 0) 80]),
            storablePoke =
            Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Config_t",
                    structConstr = Name
                      "@NsConstr"
                      "Config_t",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_id",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "Word32"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Word32"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:234:14",
                              fieldName = NamePair {
                                nameC = Name "id",
                                nameHsIdent = Identifier
                                  "config_t_id"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Unique identifier"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint32_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "Word32"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Word32"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "id",
                            commentLocation = Just
                              "doxygen_docs.h:234:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Unique identifier"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_name",
                        fieldType = HsConstArray
                          64
                          (HsPrimType HsPrimCChar),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:237:10",
                              fieldName = NamePair {
                                nameC = Name "name",
                                nameHsIdent = Identifier
                                  "config_t_name"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Human-readable name"]}])},
                            structFieldType = TypeConstArray
                              64
                              (TypePrim
                                (PrimChar
                                  (PrimSignImplicit
                                    (Just Signed)))),
                            structFieldOffset = 32,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "name",
                            commentLocation = Just
                              "doxygen_docs.h:237:10",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Human-readable name"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_flags",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "Word32"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Word32"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:240:14",
                              fieldName = NamePair {
                                nameC = Name "flags",
                                nameHsIdent = Identifier
                                  "config_t_flags"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Configuration flags"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint32_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "Word32"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Word32"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 544,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "flags",
                            commentLocation = Just
                              "doxygen_docs.h:240:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Configuration flags"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_callback",
                        fieldType = HsTypRef
                          (Name
                            "@NsTypeConstr"
                            "Event_callback_t"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:247:22",
                              fieldName = NamePair {
                                nameC = Name "callback",
                                nameHsIdent = Identifier
                                  "config_t_callback"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Optional callback function"]},
                                    Paragraph
                                      [
                                        TextContent "See also:",
                                        InlineRefCommand
                                          (ById
                                            NamePair {
                                              nameC = Name "event_callback_t",
                                              nameHsIdent = Identifier
                                                "Event_callback_t"})],
                                    Paragraph [TextContent ""]])},
                            structFieldType = TypeTypedef
                              (TypedefRegular
                                NamePair {
                                  nameC = Name "event_callback_t",
                                  nameHsIdent = Identifier
                                    "Event_callback_t"}
                                (TypePointer
                                  (TypeFun
                                    [
                                      TypePrim
                                        (PrimIntegral PrimInt Signed),
                                      TypePointer TypeVoid]
                                    (TypePrim
                                      (PrimIntegral
                                        PrimInt
                                        Signed))))),
                            structFieldOffset = 576,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "callback",
                            commentLocation = Just
                              "doxygen_docs.h:247:22",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Optional callback function"],
                              Paragraph
                                [
                                  TextContent "See also:",
                                  Identifier
                                    "Event_callback_t"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "config_t_user_data",
                        fieldType = HsPtr
                          (HsPrimType HsPrimVoid),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:250:11",
                              fieldName = NamePair {
                                nameC = Name "user_data",
                                nameHsIdent = Identifier
                                  "config_t_user_data"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "User data for callback"]}])},
                            structFieldType = TypePointer
                              TypeVoid,
                            structFieldOffset = 640,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "user_data",
                            commentLocation = Just
                              "doxygen_docs.h:250:11",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "User data for callback"]]}}],
                    structOrigin =
                    Just
                      Decl {
                        declInfo =
                        DeclInfo {
                          declLoc =
                          "doxygen_docs.h:232:9",
                          declId = NamePair {
                            nameC = Name "config_t",
                            nameHsIdent = Identifier
                              "Config_t"},
                          declOrigin = NameOriginGenerated
                            (AnonId "doxygen_docs.h:232:9"),
                          declAliases = [Name "config_t"],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["doxygen_docs.h"],
                              headerInclude =
                              "doxygen_docs.h"},
                          declComment =
                          Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Structure with documented fields"]},
                                Paragraph
                                  [
                                    TextContent
                                      "This structure demonstrates field documentation."]])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "Config_t"),
                            structSizeof = 88,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:234:14",
                                  fieldName = NamePair {
                                    nameC = Name "id",
                                    nameHsIdent = Identifier
                                      "config_t_id"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Unique identifier"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint32_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "Word32"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Word32"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:237:10",
                                  fieldName = NamePair {
                                    nameC = Name "name",
                                    nameHsIdent = Identifier
                                      "config_t_name"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Human-readable name"]}])},
                                structFieldType = TypeConstArray
                                  64
                                  (TypePrim
                                    (PrimChar
                                      (PrimSignImplicit
                                        (Just Signed)))),
                                structFieldOffset = 32,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:240:14",
                                  fieldName = NamePair {
                                    nameC = Name "flags",
                                    nameHsIdent = Identifier
                                      "config_t_flags"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Configuration flags"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint32_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "Word32"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Word32"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 544,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:247:22",
                                  fieldName = NamePair {
                                    nameC = Name "callback",
                                    nameHsIdent = Identifier
                                      "config_t_callback"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Optional callback function"]},
                                        Paragraph
                                          [
                                            TextContent "See also:",
                                            InlineRefCommand
                                              (ById
                                                NamePair {
                                                  nameC = Name "event_callback_t",
                                                  nameHsIdent = Identifier
                                                    "Event_callback_t"})],
                                        Paragraph [TextContent ""]])},
                                structFieldType = TypeTypedef
                                  (TypedefRegular
                                    NamePair {
                                      nameC = Name "event_callback_t",
                                      nameHsIdent = Identifier
                                        "Event_callback_t"}
                                    (TypePointer
                                      (TypeFun
                                        [
                                          TypePrim
                                            (PrimIntegral PrimInt Signed),
                                          TypePointer TypeVoid]
                                        (TypePrim
                                          (PrimIntegral
                                            PrimInt
                                            Signed))))),
                                structFieldOffset = 576,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:250:11",
                                  fieldName = NamePair {
                                    nameC = Name "user_data",
                                    nameHsIdent = Identifier
                                      "config_t_user_data"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "User data for callback"]}])},
                                structFieldType = TypePointer
                                  TypeVoid,
                                structFieldOffset = 640,
                                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 = Nothing,
                        commentLocation = Just
                          "doxygen_docs.h:232:9",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["doxygen_docs.h"],
                            headerInclude =
                            "doxygen_docs.h"},
                        commentChildren =
                        [
                          Paragraph
                            [
                              TextContent
                                "Structure with documented fields"],
                          Paragraph
                            [
                              TextContent
                                "This structure demonstrates field documentation."]]}}
                  (Add 5)
                  (Seq
                    [
                      PokeByteOff (Idx 6) 0 (Idx 0),
                      PokeByteOff (Idx 6) 4 (Idx 1),
                      PokeByteOff (Idx 6) 68 (Idx 2),
                      PokeByteOff (Idx 6) 72 (Idx 3),
                      PokeByteOff
                        (Idx 6)
                        80
                        (Idx 4)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Config_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Config_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Status_code_t",
        newtypeConstr = Name
          "@NsConstr"
          "Status_code_t",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Status_code_t",
          fieldType = HsPrimType
            HsPrimCInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "doxygen_docs.h:258:9",
            declId = NamePair {
              nameC = Name "status_code_t",
              nameHsIdent = Identifier
                "Status_code_t"},
            declOrigin = NameOriginGenerated
              (AnonId "doxygen_docs.h:258:9"),
            declAliases = [
              Name "status_code_t"],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph [TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Enumeration with documented values"]},
                  Paragraph
                    [
                      TextContent
                        "This enum shows different status codes."]])},
          declKind = Enum
            Enum {
              enumNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Status_code_t",
                newtypeField = Name
                  "@NsVar"
                  "un_Status_code_t"},
              enumType = TypePrim
                (PrimIntegral PrimInt Signed),
              enumSizeof = 4,
              enumAlignment = 4,
              enumConstants = [
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:260:5",
                    fieldName = NamePair {
                      nameC = Name "STATUS_OK",
                      nameHsIdent = Identifier
                        "STATUS_OK"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph [TextContent ""],
                          BlockCommand {
                            blockCommandName = "brief",
                            blockCommandArgs = [],
                            blockCommandParagraph = [
                              TextContent
                                "Operation successful"]}])},
                  enumConstantValue = 0},
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:263:5",
                    fieldName = NamePair {
                      nameC = Name
                        "STATUS_INVALID_PARAM",
                      nameHsIdent = Identifier
                        "STATUS_INVALID_PARAM"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph [TextContent ""],
                          BlockCommand {
                            blockCommandName = "brief",
                            blockCommandArgs = [],
                            blockCommandParagraph = [
                              TextContent
                                "Invalid parameter provided"]}])},
                  enumConstantValue = `-1`},
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:266:5",
                    fieldName = NamePair {
                      nameC = Name "STATUS_NO_MEMORY",
                      nameHsIdent = Identifier
                        "STATUS_NO_MEMORY"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph [TextContent ""],
                          BlockCommand {
                            blockCommandName = "brief",
                            blockCommandArgs = [],
                            blockCommandParagraph = [
                              TextContent
                                "Memory allocation failed"]}])},
                  enumConstantValue = `-2`},
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:269:5",
                    fieldName = NamePair {
                      nameC = Name "STATUS_TIMEOUT",
                      nameHsIdent = Identifier
                        "STATUS_TIMEOUT"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph [TextContent ""],
                          BlockCommand {
                            blockCommandName = "brief",
                            blockCommandArgs = [],
                            blockCommandParagraph = [
                              TextContent
                                "Operation timed out"]}])},
                  enumConstantValue = `-3`},
                EnumConstant {
                  enumConstantInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:272:5",
                    fieldName = NamePair {
                      nameC = Name "STATUS_ERROR",
                      nameHsIdent = Identifier
                        "STATUS_ERROR"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph [TextContent ""],
                          BlockCommand {
                            blockCommandName = "brief",
                            blockCommandArgs = [],
                            blockCommandParagraph = [
                              TextContent
                                "Generic error"]}])},
                  enumConstantValue = `-99`}]},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Ord, Read, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Just
              "doxygen_docs.h:258:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Enumeration with documented values"],
              Paragraph
                [
                  TextContent
                    "This enum shows different status codes."]]}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Status_code_t",
            structConstr = Name
              "@NsConstr"
              "Status_code_t",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Status_code_t",
                fieldType = HsPrimType
                  HsPrimCInt,
                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"
                      "Status_code_t",
                    structConstr = Name
                      "@NsConstr"
                      "Status_code_t",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "un_Status_code_t",
                        fieldType = HsPrimType
                          HsPrimCInt,
                        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"
                      "Status_code_t",
                    structConstr = Name
                      "@NsConstr"
                      "Status_code_t",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "un_Status_code_t",
                        fieldType = HsPrimType
                          HsPrimCInt,
                        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"
          "Status_code_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Status_code_t",
        deriveInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceCEnum
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Status_code_t",
            structConstr = Name
              "@NsConstr"
              "Status_code_t",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Status_code_t",
                fieldType = HsPrimType
                  HsPrimCInt,
                fieldOrigin = GeneratedField,
                fieldComment = Nothing}],
            structOrigin = Nothing,
            structInstances = Set.fromList
              [Eq, Ord, Read, Show, Storable],
            structComment = Nothing}
          (HsPrimType HsPrimCInt)
          (Map.fromList
            [
              _×_
                `-99`
                (NE.fromList ["STATUS_ERROR"]),
              _×_
                `-3`
                (NE.fromList
                  ["STATUS_TIMEOUT"]),
              _×_
                `-2`
                (NE.fromList
                  ["STATUS_NO_MEMORY"]),
              _×_
                `-1`
                (NE.fromList
                  ["STATUS_INVALID_PARAM"]),
              _×_
                0
                (NE.fromList ["STATUS_OK"])])
          False,
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceCEnumShow
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Status_code_t",
            structConstr = Name
              "@NsConstr"
              "Status_code_t",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Status_code_t",
                fieldType = HsPrimType
                  HsPrimCInt,
                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"
              "Status_code_t",
            structConstr = Name
              "@NsConstr"
              "Status_code_t",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "un_Status_code_t",
                fieldType = HsPrimType
                  HsPrimCInt,
                fieldOrigin = GeneratedField,
                fieldComment = Nothing}],
            structOrigin = Nothing,
            structInstances = Set.fromList
              [Eq, Ord, Read, Show, Storable],
            structComment = Nothing},
        defineInstanceComment =
        Nothing},
    DeclPatSyn
      PatSyn {
        patSynName = Name
          "@NsConstr"
          "STATUS_OK",
        patSynType = Name
          "@NsTypeConstr"
          "Status_code_t",
        patSynConstr = Name
          "@NsConstr"
          "Status_code_t",
        patSynValue = 0,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc =
              "doxygen_docs.h:260:5",
              fieldName = NamePair {
                nameC = Name "STATUS_OK",
                nameHsIdent = Identifier
                  "STATUS_OK"},
              fieldComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Operation successful"]}])},
            enumConstantValue = 0},
        patSynComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "STATUS_OK",
            commentLocation = Just
              "doxygen_docs.h:260:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Operation successful"]]}},
    DeclPatSyn
      PatSyn {
        patSynName = Name
          "@NsConstr"
          "STATUS_INVALID_PARAM",
        patSynType = Name
          "@NsTypeConstr"
          "Status_code_t",
        patSynConstr = Name
          "@NsConstr"
          "Status_code_t",
        patSynValue = `-1`,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc =
              "doxygen_docs.h:263:5",
              fieldName = NamePair {
                nameC = Name
                  "STATUS_INVALID_PARAM",
                nameHsIdent = Identifier
                  "STATUS_INVALID_PARAM"},
              fieldComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Invalid parameter provided"]}])},
            enumConstantValue = `-1`},
        patSynComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "STATUS_INVALID_PARAM",
            commentLocation = Just
              "doxygen_docs.h:263:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Invalid parameter provided"]]}},
    DeclPatSyn
      PatSyn {
        patSynName = Name
          "@NsConstr"
          "STATUS_NO_MEMORY",
        patSynType = Name
          "@NsTypeConstr"
          "Status_code_t",
        patSynConstr = Name
          "@NsConstr"
          "Status_code_t",
        patSynValue = `-2`,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc =
              "doxygen_docs.h:266:5",
              fieldName = NamePair {
                nameC = Name "STATUS_NO_MEMORY",
                nameHsIdent = Identifier
                  "STATUS_NO_MEMORY"},
              fieldComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Memory allocation failed"]}])},
            enumConstantValue = `-2`},
        patSynComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "STATUS_NO_MEMORY",
            commentLocation = Just
              "doxygen_docs.h:266:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Memory allocation failed"]]}},
    DeclPatSyn
      PatSyn {
        patSynName = Name
          "@NsConstr"
          "STATUS_TIMEOUT",
        patSynType = Name
          "@NsTypeConstr"
          "Status_code_t",
        patSynConstr = Name
          "@NsConstr"
          "Status_code_t",
        patSynValue = `-3`,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc =
              "doxygen_docs.h:269:5",
              fieldName = NamePair {
                nameC = Name "STATUS_TIMEOUT",
                nameHsIdent = Identifier
                  "STATUS_TIMEOUT"},
              fieldComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Operation timed out"]}])},
            enumConstantValue = `-3`},
        patSynComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "STATUS_TIMEOUT",
            commentLocation = Just
              "doxygen_docs.h:269:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Operation timed out"]]}},
    DeclPatSyn
      PatSyn {
        patSynName = Name
          "@NsConstr"
          "STATUS_ERROR",
        patSynType = Name
          "@NsTypeConstr"
          "Status_code_t",
        patSynConstr = Name
          "@NsConstr"
          "Status_code_t",
        patSynValue = `-99`,
        patSynOrigin = EnumConstant
          EnumConstant {
            enumConstantInfo = FieldInfo {
              fieldLoc =
              "doxygen_docs.h:272:5",
              fieldName = NamePair {
                nameC = Name "STATUS_ERROR",
                nameHsIdent = Identifier
                  "STATUS_ERROR"},
              fieldComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Generic error"]}])},
            enumConstantValue = `-99`},
        patSynComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "STATUS_ERROR",
            commentLocation = Just
              "doxygen_docs.h:272:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent "Generic error"]]}},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "Data_union_t_as_parts",
        structConstr = Name
          "@NsConstr"
          "Data_union_t_as_parts",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "data_union_t_as_parts_low",
            fieldType = HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "Word16"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "Word16"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:291:18",
                  fieldName = NamePair {
                    nameC = Name "low",
                    nameHsIdent = Identifier
                      "data_union_t_as_parts_low"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent "Low 16 bits"]}])},
                structFieldType = TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "uint16_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "Word16"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "Word16"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}},
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "low",
                commentLocation = Just
                  "doxygen_docs.h:291:18",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [TextContent "Low 16 bits"]]}},
          Field {
            fieldName = Name
              "@NsVar"
              "data_union_t_as_parts_high",
            fieldType = HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "Word16"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "Word16"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:292:18",
                  fieldName = NamePair {
                    nameC = Name "high",
                    nameHsIdent = Identifier
                      "data_union_t_as_parts_high"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent "High 16 bits"]}])},
                structFieldType = TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "uint16_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "Word16"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "Word16"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}},
                structFieldOffset = 16,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "high",
                commentLocation = Just
                  "doxygen_docs.h:292:18",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent "High 16 bits"]]}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "doxygen_docs.h:290:5",
              declId = NamePair {
                nameC = Name
                  "data_union_t_as_parts",
                nameHsIdent = Identifier
                  "Data_union_t_as_parts"},
              declOrigin = NameOriginGenerated
                (AnonId "doxygen_docs.h:290:5"),
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["doxygen_docs.h"],
                  headerInclude =
                  "doxygen_docs.h"},
              declComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Structured representation",
                        TextContent ""]},
                    BlockCommand {
                      blockCommandName = "details",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Allows access to high and low parts separately"]}])},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name
                    "@NsConstr"
                    "Data_union_t_as_parts"),
                structSizeof = 4,
                structAlignment = 2,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:291:18",
                      fieldName = NamePair {
                        nameC = Name "low",
                        nameHsIdent = Identifier
                          "data_union_t_as_parts_low"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent "Low 16 bits"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint16_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word16"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word16"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:292:18",
                      fieldName = NamePair {
                        nameC = Name "high",
                        nameHsIdent = Identifier
                          "data_union_t_as_parts_high"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent "High 16 bits"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint16_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word16"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word16"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 16,
                    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 = Nothing,
            commentLocation = Just
              "doxygen_docs.h:290:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Structured representation"],
              Paragraph
                [
                  TextContent
                    "Allows access to high and low parts separately"]]}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Data_union_t_as_parts",
            structConstr = Name
              "@NsConstr"
              "Data_union_t_as_parts",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "data_union_t_as_parts_low",
                fieldType = HsExtBinding
                  ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "Word16"}
                  CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "Word16"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]},
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:291:18",
                      fieldName = NamePair {
                        nameC = Name "low",
                        nameHsIdent = Identifier
                          "data_union_t_as_parts_low"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent "Low 16 bits"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint16_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word16"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word16"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "low",
                    commentLocation = Just
                      "doxygen_docs.h:291:18",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [TextContent "Low 16 bits"]]}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "data_union_t_as_parts_high",
                fieldType = HsExtBinding
                  ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "Word16"}
                  CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "Word16"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]},
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:292:18",
                      fieldName = NamePair {
                        nameC = Name "high",
                        nameHsIdent = Identifier
                          "data_union_t_as_parts_high"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent "High 16 bits"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint16_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word16"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word16"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 16,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "high",
                    commentLocation = Just
                      "doxygen_docs.h:292:18",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent "High 16 bits"]]}}],
            structOrigin =
            Just
              Decl {
                declInfo =
                DeclInfo {
                  declLoc =
                  "doxygen_docs.h:290:5",
                  declId = NamePair {
                    nameC = Name
                      "data_union_t_as_parts",
                    nameHsIdent = Identifier
                      "Data_union_t_as_parts"},
                  declOrigin = NameOriginGenerated
                    (AnonId "doxygen_docs.h:290:5"),
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["doxygen_docs.h"],
                      headerInclude =
                      "doxygen_docs.h"},
                  declComment =
                  Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Structured representation",
                            TextContent ""]},
                        BlockCommand {
                          blockCommandName = "details",
                          blockCommandArgs = [],
                          blockCommandParagraph =
                          [
                            TextContent
                              "Allows access to high and low parts separately"]}])},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name
                        "@NsConstr"
                        "Data_union_t_as_parts"),
                    structSizeof = 4,
                    structAlignment = 2,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:291:18",
                          fieldName = NamePair {
                            nameC = Name "low",
                            nameHsIdent = Identifier
                              "data_union_t_as_parts_low"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent "Low 16 bits"]}])},
                        structFieldType = TypeExtBinding
                          ResolvedExtBinding {
                            extCName = QualName {
                              qualNameName = Name "uint16_t",
                              qualNameKind =
                              NameKindOrdinary},
                            extHsRef = ExtRef {
                              extRefModule = ModuleName
                                "HsBindgen.Runtime.Prelude",
                              extRefIdentifier = Identifier
                                "Word16"},
                            extHsSpec = CTypeSpec {
                              cTypeSpecModule = Just
                                (ModuleName
                                  "HsBindgen.Runtime.Prelude"),
                              cTypeSpecIdentifier = Just
                                (Identifier "Word16"),
                              cTypeSpecInstances =
                              Map.fromList
                                [
                                  _×_
                                    Bits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Bounded
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Enum
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Eq
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    FiniteBits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Integral
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ix
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Num
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ord
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Read
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    ReadRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Real
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Show
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    StaticSize
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Storable
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    WriteRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = [
                                          ]})]}},
                        structFieldOffset = 0,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:292:18",
                          fieldName = NamePair {
                            nameC = Name "high",
                            nameHsIdent = Identifier
                              "data_union_t_as_parts_high"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent "High 16 bits"]}])},
                        structFieldType = TypeExtBinding
                          ResolvedExtBinding {
                            extCName = QualName {
                              qualNameName = Name "uint16_t",
                              qualNameKind =
                              NameKindOrdinary},
                            extHsRef = ExtRef {
                              extRefModule = ModuleName
                                "HsBindgen.Runtime.Prelude",
                              extRefIdentifier = Identifier
                                "Word16"},
                            extHsSpec = CTypeSpec {
                              cTypeSpecModule = Just
                                (ModuleName
                                  "HsBindgen.Runtime.Prelude"),
                              cTypeSpecIdentifier = Just
                                (Identifier "Word16"),
                              cTypeSpecInstances =
                              Map.fromList
                                [
                                  _×_
                                    Bits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Bounded
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Enum
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Eq
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    FiniteBits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Integral
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ix
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Num
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ord
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Read
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    ReadRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Real
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Show
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    StaticSize
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Storable
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    WriteRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = [
                                          ]})]}},
                        structFieldOffset = 16,
                        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 = Nothing,
                commentLocation = Just
                  "doxygen_docs.h:290:5",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Structured representation"],
                  Paragraph
                    [
                      TextContent
                        "Allows access to high and low parts separately"]]}}
          StorableInstance {
            storableSizeOf = 4,
            storableAlignment = 2,
            storablePeek =
            Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Data_union_t_as_parts",
                    structConstr = Name
                      "@NsConstr"
                      "Data_union_t_as_parts",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "data_union_t_as_parts_low",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "Word16"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Word16"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:291:18",
                              fieldName = NamePair {
                                nameC = Name "low",
                                nameHsIdent = Identifier
                                  "data_union_t_as_parts_low"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent "Low 16 bits"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint16_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "Word16"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Word16"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "low",
                            commentLocation = Just
                              "doxygen_docs.h:291:18",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [TextContent "Low 16 bits"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "data_union_t_as_parts_high",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "Word16"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Word16"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:292:18",
                              fieldName = NamePair {
                                nameC = Name "high",
                                nameHsIdent = Identifier
                                  "data_union_t_as_parts_high"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent "High 16 bits"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint16_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "Word16"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Word16"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 16,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "high",
                            commentLocation = Just
                              "doxygen_docs.h:292:18",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent "High 16 bits"]]}}],
                    structOrigin =
                    Just
                      Decl {
                        declInfo =
                        DeclInfo {
                          declLoc =
                          "doxygen_docs.h:290:5",
                          declId = NamePair {
                            nameC = Name
                              "data_union_t_as_parts",
                            nameHsIdent = Identifier
                              "Data_union_t_as_parts"},
                          declOrigin = NameOriginGenerated
                            (AnonId "doxygen_docs.h:290:5"),
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["doxygen_docs.h"],
                              headerInclude =
                              "doxygen_docs.h"},
                          declComment =
                          Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Structured representation",
                                    TextContent ""]},
                                BlockCommand {
                                  blockCommandName = "details",
                                  blockCommandArgs = [],
                                  blockCommandParagraph =
                                  [
                                    TextContent
                                      "Allows access to high and low parts separately"]}])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Data_union_t_as_parts"),
                            structSizeof = 4,
                            structAlignment = 2,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:291:18",
                                  fieldName = NamePair {
                                    nameC = Name "low",
                                    nameHsIdent = Identifier
                                      "data_union_t_as_parts_low"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent "Low 16 bits"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint16_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "Word16"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Word16"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:292:18",
                                  fieldName = NamePair {
                                    nameC = Name "high",
                                    nameHsIdent = Identifier
                                      "data_union_t_as_parts_high"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent "High 16 bits"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint16_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "Word16"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Word16"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 16,
                                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 = Nothing,
                        commentLocation = Just
                          "doxygen_docs.h:290:5",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["doxygen_docs.h"],
                            headerInclude =
                            "doxygen_docs.h"},
                        commentChildren =
                        [
                          Paragraph
                            [
                              TextContent
                                "Structured representation"],
                          Paragraph
                            [
                              TextContent
                                "Allows access to high and low parts separately"]]}})
                [
                  PeekByteOff (Idx 0) 0,
                  PeekByteOff (Idx 0) 2]),
            storablePoke =
            Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Data_union_t_as_parts",
                    structConstr = Name
                      "@NsConstr"
                      "Data_union_t_as_parts",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "data_union_t_as_parts_low",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "Word16"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Word16"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:291:18",
                              fieldName = NamePair {
                                nameC = Name "low",
                                nameHsIdent = Identifier
                                  "data_union_t_as_parts_low"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent "Low 16 bits"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint16_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "Word16"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Word16"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "low",
                            commentLocation = Just
                              "doxygen_docs.h:291:18",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [TextContent "Low 16 bits"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "data_union_t_as_parts_high",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "Word16"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Word16"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:292:18",
                              fieldName = NamePair {
                                nameC = Name "high",
                                nameHsIdent = Identifier
                                  "data_union_t_as_parts_high"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent "High 16 bits"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint16_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "Word16"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Word16"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 16,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "high",
                            commentLocation = Just
                              "doxygen_docs.h:292:18",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent "High 16 bits"]]}}],
                    structOrigin =
                    Just
                      Decl {
                        declInfo =
                        DeclInfo {
                          declLoc =
                          "doxygen_docs.h:290:5",
                          declId = NamePair {
                            nameC = Name
                              "data_union_t_as_parts",
                            nameHsIdent = Identifier
                              "Data_union_t_as_parts"},
                          declOrigin = NameOriginGenerated
                            (AnonId "doxygen_docs.h:290:5"),
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["doxygen_docs.h"],
                              headerInclude =
                              "doxygen_docs.h"},
                          declComment =
                          Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Structured representation",
                                    TextContent ""]},
                                BlockCommand {
                                  blockCommandName = "details",
                                  blockCommandArgs = [],
                                  blockCommandParagraph =
                                  [
                                    TextContent
                                      "Allows access to high and low parts separately"]}])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Data_union_t_as_parts"),
                            structSizeof = 4,
                            structAlignment = 2,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:291:18",
                                  fieldName = NamePair {
                                    nameC = Name "low",
                                    nameHsIdent = Identifier
                                      "data_union_t_as_parts_low"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent "Low 16 bits"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint16_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "Word16"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Word16"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:292:18",
                                  fieldName = NamePair {
                                    nameC = Name "high",
                                    nameHsIdent = Identifier
                                      "data_union_t_as_parts_high"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent "High 16 bits"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint16_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "Word16"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Word16"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 16,
                                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 = Nothing,
                        commentLocation = Just
                          "doxygen_docs.h:290:5",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["doxygen_docs.h"],
                            headerInclude =
                            "doxygen_docs.h"},
                        commentChildren =
                        [
                          Paragraph
                            [
                              TextContent
                                "Structured representation"],
                          Paragraph
                            [
                              TextContent
                                "Allows access to high and low parts separately"]]}}
                  (Add 2)
                  (Seq
                    [
                      PokeByteOff (Idx 3) 0 (Idx 0),
                      PokeByteOff
                        (Idx 3)
                        2
                        (Idx 1)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Data_union_t_as_parts",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Data_union_t_as_parts",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Data_union_t",
        newtypeConstr = Name
          "@NsConstr"
          "Data_union_t",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Data_union_t",
          fieldType = HsByteArray,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin =
        Decl {
          declInfo =
          DeclInfo {
            declLoc =
            "doxygen_docs.h:281:9",
            declId = NamePair {
              nameC = Name "data_union_t",
              nameHsIdent = Identifier
                "Data_union_t"},
            declOrigin = NameOriginGenerated
              (AnonId "doxygen_docs.h:281:9"),
            declAliases = [
              Name "data_union_t"],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment =
            Just
              (Comment
                [
                  Paragraph [TextContent ""],
                  VerbatimLine "data_union_t",
                  Paragraph [TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Union with documented fields"]},
                  Paragraph
                    [
                      TextContent
                        "This union demonstrates different data representations."]])},
          declKind = Union
            Union {
              unionNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Data_union_t",
                newtypeField = Name
                  "@NsVar"
                  "un_Data_union_t"},
              unionSizeof = 4,
              unionAlignment = 4,
              unionFields = [
                UnionField {
                  unionFieldInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:282:13",
                    fieldName = NamePair {
                      nameC = Name "as_int",
                      nameHsIdent = Identifier
                        "data_union_t_as_int"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph [TextContent ""],
                          BlockCommand {
                            blockCommandName = "brief",
                            blockCommandArgs = [],
                            blockCommandParagraph = [
                              TextContent
                                "Integer representation"]}])},
                  unionFieldType = TypeExtBinding
                    ResolvedExtBinding {
                      extCName = QualName {
                        qualNameName = Name "int32_t",
                        qualNameKind =
                        NameKindOrdinary},
                      extHsRef = ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "Int32"},
                      extHsSpec = CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "Int32"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}}},
                UnionField {
                  unionFieldInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:283:11",
                    fieldName = NamePair {
                      nameC = Name "as_float",
                      nameHsIdent = Identifier
                        "data_union_t_as_float"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph [TextContent ""],
                          BlockCommand {
                            blockCommandName = "brief",
                            blockCommandArgs = [],
                            blockCommandParagraph = [
                              TextContent
                                "Float representation"]}])},
                  unionFieldType = TypePrim
                    (PrimFloating PrimFloat)},
                UnionField {
                  unionFieldInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:284:13",
                    fieldName = NamePair {
                      nameC = Name "as_bytes",
                      nameHsIdent = Identifier
                        "data_union_t_as_bytes"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph [TextContent ""],
                          BlockCommand {
                            blockCommandName = "brief",
                            blockCommandArgs = [],
                            blockCommandParagraph = [
                              TextContent
                                "Byte array representation"]}])},
                  unionFieldType = TypeConstArray
                    4
                    (TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint8_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word8"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word8"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}})},
                UnionField {
                  unionFieldInfo = FieldInfo {
                    fieldLoc =
                    "doxygen_docs.h:293:30",
                    fieldName = NamePair {
                      nameC = Name "as_parts",
                      nameHsIdent = Identifier
                        "data_union_t_as_parts"},
                    fieldComment = Just
                      (Comment
                        [
                          Paragraph
                            [
                              TextContent
                                "As Parts Struct"]])},
                  unionFieldType = TypeStruct
                    NamePair {
                      nameC = Name
                        "data_union_t_as_parts",
                      nameHsIdent = Identifier
                        "Data_union_t_as_parts"}
                    (NameOriginGenerated
                      (AnonId
                        "doxygen_docs.h:290:5"))}]},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Just
              "doxygen_docs.h:281:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Verbatim "data_union_t",
              Paragraph
                [
                  TextContent
                    "Union with documented fields"],
              Paragraph
                [
                  TextContent
                    "This union demonstrates different data representations."]]}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveVia
          (HsSizedByteArray 4 4),
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Data_union_t",
        deriveInstanceComment =
        Nothing},
    DeclUnionGetter
      UnionGetter {
        unionGetterName = Name
          "@NsVar"
          "get_data_union_t_as_int",
        unionGetterType = HsExtBinding
          ExtRef {
            extRefModule = ModuleName
              "HsBindgen.Runtime.Prelude",
            extRefIdentifier = Identifier
              "Int32"}
          CTypeSpec {
            cTypeSpecModule = Just
              (ModuleName
                "HsBindgen.Runtime.Prelude"),
            cTypeSpecIdentifier = Just
              (Identifier "Int32"),
            cTypeSpecInstances =
            Map.fromList
              [
                _×_
                  Bits
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Bounded
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Enum
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Eq
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  FiniteBits
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Integral
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Ix
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Num
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Ord
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Read
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  ReadRaw
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Real
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Show
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  StaticSize
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Storable
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  WriteRaw
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = [
                        ]})]},
        unionGetterConstr = Name
          "@NsTypeConstr"
          "Data_union_t",
        unionGetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "as_int",
            commentLocation = Just
              "doxygen_docs.h:282:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Integer representation"],
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "set_data_union_t_as_int"]]}},
    DeclUnionSetter
      UnionSetter {
        unionSetterName = Name
          "@NsVar"
          "set_data_union_t_as_int",
        unionSetterType = HsExtBinding
          ExtRef {
            extRefModule = ModuleName
              "HsBindgen.Runtime.Prelude",
            extRefIdentifier = Identifier
              "Int32"}
          CTypeSpec {
            cTypeSpecModule = Just
              (ModuleName
                "HsBindgen.Runtime.Prelude"),
            cTypeSpecIdentifier = Just
              (Identifier "Int32"),
            cTypeSpecInstances =
            Map.fromList
              [
                _×_
                  Bits
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Bounded
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Enum
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Eq
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  FiniteBits
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Integral
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Ix
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Num
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Ord
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Read
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  ReadRaw
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Real
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Show
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  StaticSize
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  Storable
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = []}),
                _×_
                  WriteRaw
                  (Require
                    InstanceSpec {
                      instanceSpecStrategy = Nothing,
                      instanceSpecConstraints = [
                        ]})]},
        unionSetterConstr = Name
          "@NsTypeConstr"
          "Data_union_t",
        unionSetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Nothing,
            commentHeaderInfo = Nothing,
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "get_data_union_t_as_int"]]}},
    DeclUnionGetter
      UnionGetter {
        unionGetterName = Name
          "@NsVar"
          "get_data_union_t_as_float",
        unionGetterType = HsPrimType
          HsPrimCFloat,
        unionGetterConstr = Name
          "@NsTypeConstr"
          "Data_union_t",
        unionGetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "as_float",
            commentLocation = Just
              "doxygen_docs.h:283:11",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Float representation"],
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "set_data_union_t_as_float"]]}},
    DeclUnionSetter
      UnionSetter {
        unionSetterName = Name
          "@NsVar"
          "set_data_union_t_as_float",
        unionSetterType = HsPrimType
          HsPrimCFloat,
        unionSetterConstr = Name
          "@NsTypeConstr"
          "Data_union_t",
        unionSetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Nothing,
            commentHeaderInfo = Nothing,
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "get_data_union_t_as_float"]]}},
    DeclUnionGetter
      UnionGetter {
        unionGetterName = Name
          "@NsVar"
          "get_data_union_t_as_bytes",
        unionGetterType = HsConstArray
          4
          (HsExtBinding
            ExtRef {
              extRefModule = ModuleName
                "HsBindgen.Runtime.Prelude",
              extRefIdentifier = Identifier
                "Word8"}
            CTypeSpec {
              cTypeSpecModule = Just
                (ModuleName
                  "HsBindgen.Runtime.Prelude"),
              cTypeSpecIdentifier = Just
                (Identifier "Word8"),
              cTypeSpecInstances =
              Map.fromList
                [
                  _×_
                    Bits
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Bounded
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Enum
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Eq
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    FiniteBits
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Integral
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Ix
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Num
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Ord
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Read
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    ReadRaw
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Real
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Show
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    StaticSize
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Storable
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    WriteRaw
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = [
                          ]})]}),
        unionGetterConstr = Name
          "@NsTypeConstr"
          "Data_union_t",
        unionGetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "as_bytes",
            commentLocation = Just
              "doxygen_docs.h:284:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Byte array representation"],
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "set_data_union_t_as_bytes"]]}},
    DeclUnionSetter
      UnionSetter {
        unionSetterName = Name
          "@NsVar"
          "set_data_union_t_as_bytes",
        unionSetterType = HsConstArray
          4
          (HsExtBinding
            ExtRef {
              extRefModule = ModuleName
                "HsBindgen.Runtime.Prelude",
              extRefIdentifier = Identifier
                "Word8"}
            CTypeSpec {
              cTypeSpecModule = Just
                (ModuleName
                  "HsBindgen.Runtime.Prelude"),
              cTypeSpecIdentifier = Just
                (Identifier "Word8"),
              cTypeSpecInstances =
              Map.fromList
                [
                  _×_
                    Bits
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Bounded
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Enum
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Eq
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    FiniteBits
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Integral
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Ix
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Num
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Ord
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Read
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    ReadRaw
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Real
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Show
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    StaticSize
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    Storable
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = []}),
                  _×_
                    WriteRaw
                    (Require
                      InstanceSpec {
                        instanceSpecStrategy = Nothing,
                        instanceSpecConstraints = [
                          ]})]}),
        unionSetterConstr = Name
          "@NsTypeConstr"
          "Data_union_t",
        unionSetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Nothing,
            commentHeaderInfo = Nothing,
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "get_data_union_t_as_bytes"]]}},
    DeclUnionGetter
      UnionGetter {
        unionGetterName = Name
          "@NsVar"
          "get_data_union_t_as_parts",
        unionGetterType = HsTypRef
          (Name
            "@NsTypeConstr"
            "Data_union_t_as_parts"),
        unionGetterConstr = Name
          "@NsTypeConstr"
          "Data_union_t",
        unionGetterComment = Just
          Comment {
            commentTitle = Just
              [TextContent "As Parts Struct"],
            commentOrigin = Just "as_parts",
            commentLocation = Just
              "doxygen_docs.h:293:30",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "set_data_union_t_as_parts"]]}},
    DeclUnionSetter
      UnionSetter {
        unionSetterName = Name
          "@NsVar"
          "set_data_union_t_as_parts",
        unionSetterType = HsTypRef
          (Name
            "@NsTypeConstr"
            "Data_union_t_as_parts"),
        unionSetterConstr = Name
          "@NsTypeConstr"
          "Data_union_t",
        unionSetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Nothing,
            commentHeaderInfo = Nothing,
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "get_data_union_t_as_parts"]]}},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "Bitfield_t",
        structConstr = Name
          "@NsConstr"
          "Bitfield_t",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "bitfield_t_flag1",
            fieldType = HsPrimType
              HsPrimCUInt,
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:303:14",
                  fieldName = NamePair {
                    nameC = Name "flag1",
                    nameHsIdent = Identifier
                      "bitfield_t_flag1"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "First flag (1 bit)"]}])},
                structFieldType = TypePrim
                  (PrimIntegral PrimInt Unsigned),
                structFieldOffset = 0,
                structFieldWidth = Just 1},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "flag1",
                commentLocation = Just
                  "doxygen_docs.h:303:14",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "First flag (1 bit)"]]}},
          Field {
            fieldName = Name
              "@NsVar"
              "bitfield_t_flag2",
            fieldType = HsPrimType
              HsPrimCUInt,
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:304:14",
                  fieldName = NamePair {
                    nameC = Name "flag2",
                    nameHsIdent = Identifier
                      "bitfield_t_flag2"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Second flag (1 bit)"]}])},
                structFieldType = TypePrim
                  (PrimIntegral PrimInt Unsigned),
                structFieldOffset = 1,
                structFieldWidth = Just 1},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "flag2",
                commentLocation = Just
                  "doxygen_docs.h:304:14",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Second flag (1 bit)"]]}},
          Field {
            fieldName = Name
              "@NsVar"
              "bitfield_t_counter",
            fieldType = HsPrimType
              HsPrimCUInt,
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:305:14",
                  fieldName = NamePair {
                    nameC = Name "counter",
                    nameHsIdent = Identifier
                      "bitfield_t_counter"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Counter value (6 bits)"]}])},
                structFieldType = TypePrim
                  (PrimIntegral PrimInt Unsigned),
                structFieldOffset = 2,
                structFieldWidth = Just 6},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "counter",
                commentLocation = Just
                  "doxygen_docs.h:305:14",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Counter value (6 bits)"]]}},
          Field {
            fieldName = Name
              "@NsVar"
              "bitfield_t_reserved",
            fieldType = HsPrimType
              HsPrimCUInt,
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:306:14",
                  fieldName = NamePair {
                    nameC = Name "reserved",
                    nameHsIdent = Identifier
                      "bitfield_t_reserved"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Reserved bits (24 bits)"]}])},
                structFieldType = TypePrim
                  (PrimIntegral PrimInt Unsigned),
                structFieldOffset = 8,
                structFieldWidth = Just 24},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "reserved",
                commentLocation = Just
                  "doxygen_docs.h:306:14",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Reserved bits (24 bits)"]]}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "doxygen_docs.h:302:9",
              declId = NamePair {
                nameC = Name "bitfield_t",
                nameHsIdent = Identifier
                  "Bitfield_t"},
              declOrigin = NameOriginGenerated
                (AnonId "doxygen_docs.h:302:9"),
              declAliases = [
                Name "bitfield_t"],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["doxygen_docs.h"],
                  headerInclude =
                  "doxygen_docs.h"},
              declComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    VerbatimLine "bitfield_t",
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Bit field structure"]},
                    Paragraph
                      [
                        TextContent
                          "Demonstrates bit field documentation."]])},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name "@NsConstr" "Bitfield_t"),
                structSizeof = 4,
                structAlignment = 4,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:303:14",
                      fieldName = NamePair {
                        nameC = Name "flag1",
                        nameHsIdent = Identifier
                          "bitfield_t_flag1"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "First flag (1 bit)"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Unsigned),
                    structFieldOffset = 0,
                    structFieldWidth = Just 1},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:304:14",
                      fieldName = NamePair {
                        nameC = Name "flag2",
                        nameHsIdent = Identifier
                          "bitfield_t_flag2"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Second flag (1 bit)"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Unsigned),
                    structFieldOffset = 1,
                    structFieldWidth = Just 1},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:305:14",
                      fieldName = NamePair {
                        nameC = Name "counter",
                        nameHsIdent = Identifier
                          "bitfield_t_counter"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Counter value (6 bits)"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Unsigned),
                    structFieldOffset = 2,
                    structFieldWidth = Just 6},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:306:14",
                      fieldName = NamePair {
                        nameC = Name "reserved",
                        nameHsIdent = Identifier
                          "bitfield_t_reserved"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Reserved bits (24 bits)"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Unsigned),
                    structFieldOffset = 8,
                    structFieldWidth = Just 24}],
                structFlam = Nothing},
            declSpec = DeclSpec
              CTypeSpec {
                cTypeSpecModule = Nothing,
                cTypeSpecIdentifier = Nothing,
                cTypeSpecInstances =
                Map.fromList []}},
        structInstances = Set.fromList
          [Eq, Show, Storable],
        structComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Just
              "doxygen_docs.h:302:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Verbatim "bitfield_t",
              Paragraph
                [
                  TextContent
                    "Bit field structure"],
              Paragraph
                [
                  TextContent
                    "Demonstrates bit field documentation."]]}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Bitfield_t",
            structConstr = Name
              "@NsConstr"
              "Bitfield_t",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "bitfield_t_flag1",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:303:14",
                      fieldName = NamePair {
                        nameC = Name "flag1",
                        nameHsIdent = Identifier
                          "bitfield_t_flag1"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "First flag (1 bit)"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Unsigned),
                    structFieldOffset = 0,
                    structFieldWidth = Just 1},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "flag1",
                    commentLocation = Just
                      "doxygen_docs.h:303:14",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "First flag (1 bit)"]]}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "bitfield_t_flag2",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:304:14",
                      fieldName = NamePair {
                        nameC = Name "flag2",
                        nameHsIdent = Identifier
                          "bitfield_t_flag2"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Second flag (1 bit)"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Unsigned),
                    structFieldOffset = 1,
                    structFieldWidth = Just 1},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "flag2",
                    commentLocation = Just
                      "doxygen_docs.h:304:14",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Second flag (1 bit)"]]}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "bitfield_t_counter",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:305:14",
                      fieldName = NamePair {
                        nameC = Name "counter",
                        nameHsIdent = Identifier
                          "bitfield_t_counter"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Counter value (6 bits)"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Unsigned),
                    structFieldOffset = 2,
                    structFieldWidth = Just 6},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "counter",
                    commentLocation = Just
                      "doxygen_docs.h:305:14",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Counter value (6 bits)"]]}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "bitfield_t_reserved",
                fieldType = HsPrimType
                  HsPrimCUInt,
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:306:14",
                      fieldName = NamePair {
                        nameC = Name "reserved",
                        nameHsIdent = Identifier
                          "bitfield_t_reserved"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Reserved bits (24 bits)"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Unsigned),
                    structFieldOffset = 8,
                    structFieldWidth = Just 24},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "reserved",
                    commentLocation = Just
                      "doxygen_docs.h:306:14",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Reserved bits (24 bits)"]]}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc =
                  "doxygen_docs.h:302:9",
                  declId = NamePair {
                    nameC = Name "bitfield_t",
                    nameHsIdent = Identifier
                      "Bitfield_t"},
                  declOrigin = NameOriginGenerated
                    (AnonId "doxygen_docs.h:302:9"),
                  declAliases = [
                    Name "bitfield_t"],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["doxygen_docs.h"],
                      headerInclude =
                      "doxygen_docs.h"},
                  declComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        VerbatimLine "bitfield_t",
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Bit field structure"]},
                        Paragraph
                          [
                            TextContent
                              "Demonstrates bit field documentation."]])},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name "@NsConstr" "Bitfield_t"),
                    structSizeof = 4,
                    structAlignment = 4,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:303:14",
                          fieldName = NamePair {
                            nameC = Name "flag1",
                            nameHsIdent = Identifier
                              "bitfield_t_flag1"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "First flag (1 bit)"]}])},
                        structFieldType = TypePrim
                          (PrimIntegral PrimInt Unsigned),
                        structFieldOffset = 0,
                        structFieldWidth = Just 1},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:304:14",
                          fieldName = NamePair {
                            nameC = Name "flag2",
                            nameHsIdent = Identifier
                              "bitfield_t_flag2"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Second flag (1 bit)"]}])},
                        structFieldType = TypePrim
                          (PrimIntegral PrimInt Unsigned),
                        structFieldOffset = 1,
                        structFieldWidth = Just 1},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:305:14",
                          fieldName = NamePair {
                            nameC = Name "counter",
                            nameHsIdent = Identifier
                              "bitfield_t_counter"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Counter value (6 bits)"]}])},
                        structFieldType = TypePrim
                          (PrimIntegral PrimInt Unsigned),
                        structFieldOffset = 2,
                        structFieldWidth = Just 6},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:306:14",
                          fieldName = NamePair {
                            nameC = Name "reserved",
                            nameHsIdent = Identifier
                              "bitfield_t_reserved"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Reserved bits (24 bits)"]}])},
                        structFieldType = TypePrim
                          (PrimIntegral PrimInt Unsigned),
                        structFieldOffset = 8,
                        structFieldWidth = Just 24}],
                    structFlam = Nothing},
                declSpec = DeclSpec
                  CTypeSpec {
                    cTypeSpecModule = Nothing,
                    cTypeSpecIdentifier = Nothing,
                    cTypeSpecInstances =
                    Map.fromList []}},
            structInstances = Set.fromList
              [Eq, Show, Storable],
            structComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Nothing,
                commentLocation = Just
                  "doxygen_docs.h:302:9",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Verbatim "bitfield_t",
                  Paragraph
                    [
                      TextContent
                        "Bit field structure"],
                  Paragraph
                    [
                      TextContent
                        "Demonstrates bit field documentation."]]}}
          StorableInstance {
            storableSizeOf = 4,
            storableAlignment = 4,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Bitfield_t",
                    structConstr = Name
                      "@NsConstr"
                      "Bitfield_t",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "bitfield_t_flag1",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:303:14",
                              fieldName = NamePair {
                                nameC = Name "flag1",
                                nameHsIdent = Identifier
                                  "bitfield_t_flag1"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "First flag (1 bit)"]}])},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Unsigned),
                            structFieldOffset = 0,
                            structFieldWidth = Just 1},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "flag1",
                            commentLocation = Just
                              "doxygen_docs.h:303:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "First flag (1 bit)"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "bitfield_t_flag2",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:304:14",
                              fieldName = NamePair {
                                nameC = Name "flag2",
                                nameHsIdent = Identifier
                                  "bitfield_t_flag2"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Second flag (1 bit)"]}])},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Unsigned),
                            structFieldOffset = 1,
                            structFieldWidth = Just 1},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "flag2",
                            commentLocation = Just
                              "doxygen_docs.h:304:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Second flag (1 bit)"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "bitfield_t_counter",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:305:14",
                              fieldName = NamePair {
                                nameC = Name "counter",
                                nameHsIdent = Identifier
                                  "bitfield_t_counter"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Counter value (6 bits)"]}])},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Unsigned),
                            structFieldOffset = 2,
                            structFieldWidth = Just 6},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "counter",
                            commentLocation = Just
                              "doxygen_docs.h:305:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Counter value (6 bits)"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "bitfield_t_reserved",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:306:14",
                              fieldName = NamePair {
                                nameC = Name "reserved",
                                nameHsIdent = Identifier
                                  "bitfield_t_reserved"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Reserved bits (24 bits)"]}])},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Unsigned),
                            structFieldOffset = 8,
                            structFieldWidth = Just 24},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "reserved",
                            commentLocation = Just
                              "doxygen_docs.h:306:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Reserved bits (24 bits)"]]}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "doxygen_docs.h:302:9",
                          declId = NamePair {
                            nameC = Name "bitfield_t",
                            nameHsIdent = Identifier
                              "Bitfield_t"},
                          declOrigin = NameOriginGenerated
                            (AnonId "doxygen_docs.h:302:9"),
                          declAliases = [
                            Name "bitfield_t"],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["doxygen_docs.h"],
                              headerInclude =
                              "doxygen_docs.h"},
                          declComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                VerbatimLine "bitfield_t",
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Bit field structure"]},
                                Paragraph
                                  [
                                    TextContent
                                      "Demonstrates bit field documentation."]])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "Bitfield_t"),
                            structSizeof = 4,
                            structAlignment = 4,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:303:14",
                                  fieldName = NamePair {
                                    nameC = Name "flag1",
                                    nameHsIdent = Identifier
                                      "bitfield_t_flag1"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "First flag (1 bit)"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Unsigned),
                                structFieldOffset = 0,
                                structFieldWidth = Just 1},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:304:14",
                                  fieldName = NamePair {
                                    nameC = Name "flag2",
                                    nameHsIdent = Identifier
                                      "bitfield_t_flag2"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Second flag (1 bit)"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Unsigned),
                                structFieldOffset = 1,
                                structFieldWidth = Just 1},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:305:14",
                                  fieldName = NamePair {
                                    nameC = Name "counter",
                                    nameHsIdent = Identifier
                                      "bitfield_t_counter"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Counter value (6 bits)"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Unsigned),
                                structFieldOffset = 2,
                                structFieldWidth = Just 6},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:306:14",
                                  fieldName = NamePair {
                                    nameC = Name "reserved",
                                    nameHsIdent = Identifier
                                      "bitfield_t_reserved"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Reserved bits (24 bits)"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Unsigned),
                                structFieldOffset = 8,
                                structFieldWidth = Just 24}],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Nothing,
                        commentLocation = Just
                          "doxygen_docs.h:302:9",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["doxygen_docs.h"],
                            headerInclude =
                            "doxygen_docs.h"},
                        commentChildren = [
                          Verbatim "bitfield_t",
                          Paragraph
                            [
                              TextContent
                                "Bit field structure"],
                          Paragraph
                            [
                              TextContent
                                "Demonstrates bit field documentation."]]}})
                [
                  PeekBitOffWidth (Idx 0) 0 1,
                  PeekBitOffWidth (Idx 0) 1 1,
                  PeekBitOffWidth (Idx 0) 2 6,
                  PeekBitOffWidth (Idx 0) 8 24]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Bitfield_t",
                    structConstr = Name
                      "@NsConstr"
                      "Bitfield_t",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "bitfield_t_flag1",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:303:14",
                              fieldName = NamePair {
                                nameC = Name "flag1",
                                nameHsIdent = Identifier
                                  "bitfield_t_flag1"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "First flag (1 bit)"]}])},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Unsigned),
                            structFieldOffset = 0,
                            structFieldWidth = Just 1},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "flag1",
                            commentLocation = Just
                              "doxygen_docs.h:303:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "First flag (1 bit)"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "bitfield_t_flag2",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:304:14",
                              fieldName = NamePair {
                                nameC = Name "flag2",
                                nameHsIdent = Identifier
                                  "bitfield_t_flag2"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Second flag (1 bit)"]}])},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Unsigned),
                            structFieldOffset = 1,
                            structFieldWidth = Just 1},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "flag2",
                            commentLocation = Just
                              "doxygen_docs.h:304:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Second flag (1 bit)"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "bitfield_t_counter",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:305:14",
                              fieldName = NamePair {
                                nameC = Name "counter",
                                nameHsIdent = Identifier
                                  "bitfield_t_counter"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Counter value (6 bits)"]}])},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Unsigned),
                            structFieldOffset = 2,
                            structFieldWidth = Just 6},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "counter",
                            commentLocation = Just
                              "doxygen_docs.h:305:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Counter value (6 bits)"]]}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "bitfield_t_reserved",
                        fieldType = HsPrimType
                          HsPrimCUInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:306:14",
                              fieldName = NamePair {
                                nameC = Name "reserved",
                                nameHsIdent = Identifier
                                  "bitfield_t_reserved"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Reserved bits (24 bits)"]}])},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Unsigned),
                            structFieldOffset = 8,
                            structFieldWidth = Just 24},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "reserved",
                            commentLocation = Just
                              "doxygen_docs.h:306:14",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Reserved bits (24 bits)"]]}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "doxygen_docs.h:302:9",
                          declId = NamePair {
                            nameC = Name "bitfield_t",
                            nameHsIdent = Identifier
                              "Bitfield_t"},
                          declOrigin = NameOriginGenerated
                            (AnonId "doxygen_docs.h:302:9"),
                          declAliases = [
                            Name "bitfield_t"],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["doxygen_docs.h"],
                              headerInclude =
                              "doxygen_docs.h"},
                          declComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                VerbatimLine "bitfield_t",
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Bit field structure"]},
                                Paragraph
                                  [
                                    TextContent
                                      "Demonstrates bit field documentation."]])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "Bitfield_t"),
                            structSizeof = 4,
                            structAlignment = 4,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:303:14",
                                  fieldName = NamePair {
                                    nameC = Name "flag1",
                                    nameHsIdent = Identifier
                                      "bitfield_t_flag1"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "First flag (1 bit)"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Unsigned),
                                structFieldOffset = 0,
                                structFieldWidth = Just 1},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:304:14",
                                  fieldName = NamePair {
                                    nameC = Name "flag2",
                                    nameHsIdent = Identifier
                                      "bitfield_t_flag2"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Second flag (1 bit)"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Unsigned),
                                structFieldOffset = 1,
                                structFieldWidth = Just 1},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:305:14",
                                  fieldName = NamePair {
                                    nameC = Name "counter",
                                    nameHsIdent = Identifier
                                      "bitfield_t_counter"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Counter value (6 bits)"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Unsigned),
                                structFieldOffset = 2,
                                structFieldWidth = Just 6},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:306:14",
                                  fieldName = NamePair {
                                    nameC = Name "reserved",
                                    nameHsIdent = Identifier
                                      "bitfield_t_reserved"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Reserved bits (24 bits)"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Unsigned),
                                structFieldOffset = 8,
                                structFieldWidth = Just 24}],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Nothing,
                        commentLocation = Just
                          "doxygen_docs.h:302:9",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["doxygen_docs.h"],
                            headerInclude =
                            "doxygen_docs.h"},
                        commentChildren = [
                          Verbatim "bitfield_t",
                          Paragraph
                            [
                              TextContent
                                "Bit field structure"],
                          Paragraph
                            [
                              TextContent
                                "Demonstrates bit field documentation."]]}}
                  (Add 4)
                  (Seq
                    [
                      PokeBitOffWidth
                        (Idx 5)
                        0
                        1
                        (Idx 0),
                      PokeBitOffWidth
                        (Idx 5)
                        1
                        1
                        (Idx 1),
                      PokeBitOffWidth
                        (Idx 5)
                        2
                        6
                        (Idx 2),
                      PokeBitOffWidth
                        (Idx 5)
                        8
                        24
                        (Idx 3)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Bitfield_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Bitfield_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Processor_fn_t_Deref",
        newtypeConstr = Name
          "@NsConstr"
          "Processor_fn_t_Deref",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Processor_fn_t_Deref",
          fieldType = HsFun
            (HsPrimType HsPrimCInt)
            (HsFun
              (HsPtr (HsPrimType HsPrimVoid))
              (HsIO (HsPrimType HsPrimCInt))),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "doxygen_docs.h:317:15",
            declId = NamePair {
              nameC = Name
                "processor_fn_t_Deref",
              nameHsIdent = Identifier
                "Processor_fn_t_Deref"},
            declOrigin = NameOriginGenerated
              (AnonId
                "doxygen_docs.h:317:15"),
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph
                    [
                      TextContent
                        "Auxiliary type used by ",
                      InlineRefCommand
                        (ById
                          NamePair {
                            nameC = Name "processor_fn_t",
                            nameHsIdent = Identifier
                              "Processor_fn_t"})]])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Processor_fn_t_Deref",
                newtypeField = Name
                  "@NsVar"
                  "un_Processor_fn_t_Deref"},
              typedefType = TypeFun
                [
                  TypePrim
                    (PrimIntegral PrimInt Signed),
                  TypePointer TypeVoid]
                (TypePrim
                  (PrimIntegral PrimInt Signed))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [],
        newtypeComment = Just
          Comment {
            commentTitle = Just
              [
                TextContent
                  "Auxiliary type used by",
                Identifier "Processor_fn_t"],
            commentOrigin = Nothing,
            commentLocation = Just
              "doxygen_docs.h:317:15",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = []}},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "toProcessor_fn_t_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Processor_fn_t_Deref"),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Processor_fn_t_Deref")))),
        foreignImportOrigName =
        "wrapper",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = ToFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePointer TypeVoid]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "fromProcessor_fn_t_Deref",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Nothing,
            functionParameterType = HsFunPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Processor_fn_t_Deref")),
            functionParameterComment =
            Nothing}],
        foreignImportResultType =
        NormalResultType
          (HsTypRef
            (Name
              "@NsTypeConstr"
              "Processor_fn_t_Deref")),
        foreignImportOrigName =
        "dynamic",
        foreignImportCallConv =
        CallConvGhcCCall ImportAsValue,
        foreignImportOrigin = FromFunPtr
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePointer TypeVoid]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Safe},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceToFunPtr
          ToFunPtrInstance {
            toFunPtrInstanceType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Processor_fn_t_Deref"),
            toFunPtrInstanceBody = Name
              "@NsVar"
              "toProcessor_fn_t_Deref"},
        defineInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceFromFunPtr
          FromFunPtrInstance {
            fromFunPtrInstanceType =
            HsTypRef
              (Name
                "@NsTypeConstr"
                "Processor_fn_t_Deref"),
            fromFunPtrInstanceBody = Name
              "@NsVar"
              "fromProcessor_fn_t_Deref"},
        defineInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Processor_fn_t",
        newtypeConstr = Name
          "@NsConstr"
          "Processor_fn_t",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Processor_fn_t",
          fieldType = HsFunPtr
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Processor_fn_t_Deref")),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "doxygen_docs.h:317:15",
            declId = NamePair {
              nameC = Name "processor_fn_t",
              nameHsIdent = Identifier
                "Processor_fn_t"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph [TextContent ""],
                  VerbatimLine "processor_fn_t",
                  Paragraph [TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Function pointer typedef"]},
                  Paragraph [TextContent ""],
                  ParamCommand {
                    paramCommandName = "input",
                    paramCommandIndex = Just 0,
                    paramCommandDirection = Just
                      CXCommentParamPassDirection_In,
                    paramCommandIsDirectionExplicit =
                    False,
                    paramCommandContent = [
                      Paragraph
                        [
                          TextContent "Input value",
                          TextContent ""]]},
                  ParamCommand {
                    paramCommandName = "context",
                    paramCommandIndex = Just 1,
                    paramCommandDirection = Just
                      CXCommentParamPassDirection_In,
                    paramCommandIsDirectionExplicit =
                    False,
                    paramCommandContent = [
                      Paragraph
                        [
                          TextContent "Context pointer",
                          TextContent ""]]},
                  BlockCommand {
                    blockCommandName = "return",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Processed value"]}])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Processor_fn_t",
                newtypeField = Name
                  "@NsVar"
                  "un_Processor_fn_t"},
              typedefType = TypePointer
                (TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name
                        "processor_fn_t_Deref",
                      nameHsIdent = Identifier
                        "Processor_fn_t_Deref"}
                    (TypeFun
                      [
                        TypePrim
                          (PrimIntegral PrimInt Signed),
                        TypePointer TypeVoid]
                      (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
              "processor_fn_t",
            commentLocation = Just
              "doxygen_docs.h:317:15",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Verbatim "processor_fn_t",
              Paragraph
                [
                  TextContent
                    "Function pointer typedef"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "input"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input value"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "context"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Context pointer"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Processed value"]]}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Processor_fn_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Processor_fn_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Processor_fn_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Processor_fn_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Filename_t",
        newtypeConstr = Name
          "@NsConstr"
          "Filename_t",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Filename_t",
          fieldType = HsConstArray
            256
            (HsPrimType HsPrimCChar),
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "doxygen_docs.h:323:14",
            declId = NamePair {
              nameC = Name "filename_t",
              nameHsIdent = Identifier
                "Filename_t"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            declComment = Just
              (Comment
                [
                  Paragraph [TextContent ""],
                  VerbatimLine "filename_t",
                  Paragraph [TextContent ""],
                  BlockCommand {
                    blockCommandName = "brief",
                    blockCommandArgs = [],
                    blockCommandParagraph = [
                      TextContent
                        "Array typedef with size"]}])},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Filename_t",
                newtypeField = Name
                  "@NsVar"
                  "un_Filename_t"},
              typedefType = TypeConstArray
                256
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit
                      (Just Signed))))},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Eq, Show, Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "filename_t",
            commentLocation = Just
              "doxygen_docs.h:323:14",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Verbatim "filename_t",
              Paragraph
                [
                  TextContent
                    "Array typedef with size"]]}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Filename_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Filename_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Filename_t",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "Flexible_array",
        structConstr = Name
          "@NsConstr"
          "Flexible_array",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "flexible_array_count",
            fieldType = HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "CSize"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "CSize"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "doxygen_docs.h:361:12",
                  fieldName = NamePair {
                    nameC = Name "count",
                    nameHsIdent = Identifier
                      "flexible_array_count"},
                  fieldComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Number of elements"]}])},
                structFieldType = TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "size_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}},
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "count",
                commentLocation = Just
                  "doxygen_docs.h:361:12",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Number of elements"]]}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "doxygen_docs.h:360:8",
              declId = NamePair {
                nameC = Name "flexible_array",
                nameHsIdent = Identifier
                  "Flexible_array"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["doxygen_docs.h"],
                  headerInclude =
                  "doxygen_docs.h"},
              declComment = Just
                (Comment
                  [
                    Paragraph [TextContent ""],
                    BlockCommand {
                      blockCommandName = "brief",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Function with flexible array member"]},
                    Paragraph [TextContent ""],
                    ParamCommand {
                      paramCommandName = "count",
                      paramCommandIndex = Nothing,
                      paramCommandDirection = Just
                        CXCommentParamPassDirection_In,
                      paramCommandIsDirectionExplicit =
                      False,
                      paramCommandContent = [
                        Paragraph
                          [
                            TextContent
                              "Number of elements",
                            TextContent ""]]},
                    BlockCommand {
                      blockCommandName = "return",
                      blockCommandArgs = [],
                      blockCommandParagraph = [
                        TextContent
                          "Allocated structure"]}])},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name
                    "@NsConstr"
                    "Flexible_array"),
                structSizeof = 8,
                structAlignment = 8,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:361:12",
                      fieldName = NamePair {
                        nameC = Name "count",
                        nameHsIdent = Identifier
                          "flexible_array_count"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Number of elements"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "size_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "CSize"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "CSize"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing}],
                structFlam = Just
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:362:9",
                      fieldName = NamePair {
                        nameC = Name "data",
                        nameHsIdent = Identifier
                          "flexible_array_data"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Flexible array member"]}])},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Signed),
                    structFieldOffset = 64,
                    structFieldWidth = Nothing}},
            declSpec = DeclSpec
              CTypeSpec {
                cTypeSpecModule = Nothing,
                cTypeSpecIdentifier = Nothing,
                cTypeSpecInstances =
                Map.fromList []}},
        structInstances = Set.fromList
          [Eq, Show, Storable],
        structComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "flexible_array",
            commentLocation = Just
              "doxygen_docs.h:360:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with flexible array member"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "count"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Number of elements"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Allocated structure"]]}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Flexible_array",
            structConstr = Name
              "@NsConstr"
              "Flexible_array",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "flexible_array_count",
                fieldType = HsExtBinding
                  ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "CSize"}
                  CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "CSize"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]},
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:361:12",
                      fieldName = NamePair {
                        nameC = Name "count",
                        nameHsIdent = Identifier
                          "flexible_array_count"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Number of elements"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "size_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "CSize"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "CSize"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "count",
                    commentLocation = Just
                      "doxygen_docs.h:361:12",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Number of elements"]]}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc =
                  "doxygen_docs.h:360:8",
                  declId = NamePair {
                    nameC = Name "flexible_array",
                    nameHsIdent = Identifier
                      "Flexible_array"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["doxygen_docs.h"],
                      headerInclude =
                      "doxygen_docs.h"},
                  declComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Function with flexible array member"]},
                        Paragraph [TextContent ""],
                        ParamCommand {
                          paramCommandName = "count",
                          paramCommandIndex = Nothing,
                          paramCommandDirection = Just
                            CXCommentParamPassDirection_In,
                          paramCommandIsDirectionExplicit =
                          False,
                          paramCommandContent = [
                            Paragraph
                              [
                                TextContent
                                  "Number of elements",
                                TextContent ""]]},
                        BlockCommand {
                          blockCommandName = "return",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Allocated structure"]}])},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name
                        "@NsConstr"
                        "Flexible_array"),
                    structSizeof = 8,
                    structAlignment = 8,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:361:12",
                          fieldName = NamePair {
                            nameC = Name "count",
                            nameHsIdent = Identifier
                              "flexible_array_count"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Number of elements"]}])},
                        structFieldType = TypeExtBinding
                          ResolvedExtBinding {
                            extCName = QualName {
                              qualNameName = Name "size_t",
                              qualNameKind =
                              NameKindOrdinary},
                            extHsRef = ExtRef {
                              extRefModule = ModuleName
                                "HsBindgen.Runtime.Prelude",
                              extRefIdentifier = Identifier
                                "CSize"},
                            extHsSpec = CTypeSpec {
                              cTypeSpecModule = Just
                                (ModuleName
                                  "HsBindgen.Runtime.Prelude"),
                              cTypeSpecIdentifier = Just
                                (Identifier "CSize"),
                              cTypeSpecInstances =
                              Map.fromList
                                [
                                  _×_
                                    Bits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Bounded
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Enum
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Eq
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    FiniteBits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Integral
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ix
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Num
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ord
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Read
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    ReadRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Real
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Show
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    StaticSize
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Storable
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    WriteRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = [
                                          ]})]}},
                        structFieldOffset = 0,
                        structFieldWidth = Nothing}],
                    structFlam = Just
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:362:9",
                          fieldName = NamePair {
                            nameC = Name "data",
                            nameHsIdent = Identifier
                              "flexible_array_data"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Flexible array member"]}])},
                        structFieldType = TypePrim
                          (PrimIntegral PrimInt Signed),
                        structFieldOffset = 64,
                        structFieldWidth = Nothing}},
                declSpec = DeclSpec
                  CTypeSpec {
                    cTypeSpecModule = Nothing,
                    cTypeSpecIdentifier = Nothing,
                    cTypeSpecInstances =
                    Map.fromList []}},
            structInstances = Set.fromList
              [Eq, Show, Storable],
            structComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "flexible_array",
                commentLocation = Just
                  "doxygen_docs.h:360:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Function with flexible array member"],
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "count"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Number of elements"]]},
                  Paragraph
                    [
                      Bold [TextContent "returns:"],
                      TextContent
                        "Allocated structure"]]}}
          StorableInstance {
            storableSizeOf = 8,
            storableAlignment = 8,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Flexible_array",
                    structConstr = Name
                      "@NsConstr"
                      "Flexible_array",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "flexible_array_count",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "CSize"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "CSize"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:361:12",
                              fieldName = NamePair {
                                nameC = Name "count",
                                nameHsIdent = Identifier
                                  "flexible_array_count"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Number of elements"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "size_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "CSize"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "CSize"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "count",
                            commentLocation = Just
                              "doxygen_docs.h:361:12",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Number of elements"]]}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "doxygen_docs.h:360:8",
                          declId = NamePair {
                            nameC = Name "flexible_array",
                            nameHsIdent = Identifier
                              "Flexible_array"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["doxygen_docs.h"],
                              headerInclude =
                              "doxygen_docs.h"},
                          declComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Function with flexible array member"]},
                                Paragraph [TextContent ""],
                                ParamCommand {
                                  paramCommandName = "count",
                                  paramCommandIndex = Nothing,
                                  paramCommandDirection = Just
                                    CXCommentParamPassDirection_In,
                                  paramCommandIsDirectionExplicit =
                                  False,
                                  paramCommandContent = [
                                    Paragraph
                                      [
                                        TextContent
                                          "Number of elements",
                                        TextContent ""]]},
                                BlockCommand {
                                  blockCommandName = "return",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Allocated structure"]}])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Flexible_array"),
                            structSizeof = 8,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:361:12",
                                  fieldName = NamePair {
                                    nameC = Name "count",
                                    nameHsIdent = Identifier
                                      "flexible_array_count"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Number of elements"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "size_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "CSize"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "CSize"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 0,
                                structFieldWidth = Nothing}],
                            structFlam = Just
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:362:9",
                                  fieldName = NamePair {
                                    nameC = Name "data",
                                    nameHsIdent = Identifier
                                      "flexible_array_data"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Flexible array member"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Signed),
                                structFieldOffset = 64,
                                structFieldWidth = Nothing}},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Just
                          "flexible_array",
                        commentLocation = Just
                          "doxygen_docs.h:360:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["doxygen_docs.h"],
                            headerInclude =
                            "doxygen_docs.h"},
                        commentChildren = [
                          Paragraph
                            [
                              TextContent
                                "Function with flexible array member"],
                          DefinitionList {
                            definitionListTerm = Bold
                              [
                                Monospace [TextContent "count"],
                                Emph [TextContent "(input)"]],
                            definitionListContent = [
                              Paragraph
                                [
                                  TextContent
                                    "Number of elements"]]},
                          Paragraph
                            [
                              Bold [TextContent "returns:"],
                              TextContent
                                "Allocated structure"]]}})
                [PeekByteOff (Idx 0) 0]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Flexible_array",
                    structConstr = Name
                      "@NsConstr"
                      "Flexible_array",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "flexible_array_count",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "HsBindgen.Runtime.Prelude",
                            extRefIdentifier = Identifier
                              "CSize"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName
                                "HsBindgen.Runtime.Prelude"),
                            cTypeSpecIdentifier = Just
                              (Identifier "CSize"),
                            cTypeSpecInstances =
                            Map.fromList
                              [
                                _×_
                                  Bits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Bounded
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Enum
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Eq
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  FiniteBits
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Integral
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ix
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Num
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Ord
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Read
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  ReadRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  StaticSize
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  WriteRaw
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "doxygen_docs.h:361:12",
                              fieldName = NamePair {
                                nameC = Name "count",
                                nameHsIdent = Identifier
                                  "flexible_array_count"},
                              fieldComment = Just
                                (Comment
                                  [
                                    Paragraph [TextContent ""],
                                    BlockCommand {
                                      blockCommandName = "brief",
                                      blockCommandArgs = [],
                                      blockCommandParagraph = [
                                        TextContent
                                          "Number of elements"]}])},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "size_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "HsBindgen.Runtime.Prelude",
                                  extRefIdentifier = Identifier
                                    "CSize"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName
                                      "HsBindgen.Runtime.Prelude"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "CSize"),
                                  cTypeSpecInstances =
                                  Map.fromList
                                    [
                                      _×_
                                        Bits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Bounded
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Enum
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Eq
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        FiniteBits
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Integral
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ix
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Num
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Ord
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Read
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        ReadRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        StaticSize
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        WriteRaw
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "count",
                            commentLocation = Just
                              "doxygen_docs.h:361:12",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["doxygen_docs.h"],
                                headerInclude =
                                "doxygen_docs.h"},
                            commentChildren = [
                              Paragraph
                                [
                                  TextContent
                                    "Number of elements"]]}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "doxygen_docs.h:360:8",
                          declId = NamePair {
                            nameC = Name "flexible_array",
                            nameHsIdent = Identifier
                              "Flexible_array"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["doxygen_docs.h"],
                              headerInclude =
                              "doxygen_docs.h"},
                          declComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Function with flexible array member"]},
                                Paragraph [TextContent ""],
                                ParamCommand {
                                  paramCommandName = "count",
                                  paramCommandIndex = Nothing,
                                  paramCommandDirection = Just
                                    CXCommentParamPassDirection_In,
                                  paramCommandIsDirectionExplicit =
                                  False,
                                  paramCommandContent = [
                                    Paragraph
                                      [
                                        TextContent
                                          "Number of elements",
                                        TextContent ""]]},
                                BlockCommand {
                                  blockCommandName = "return",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Allocated structure"]}])},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "Flexible_array"),
                            structSizeof = 8,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:361:12",
                                  fieldName = NamePair {
                                    nameC = Name "count",
                                    nameHsIdent = Identifier
                                      "flexible_array_count"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Number of elements"]}])},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "size_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "HsBindgen.Runtime.Prelude",
                                      extRefIdentifier = Identifier
                                        "CSize"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName
                                          "HsBindgen.Runtime.Prelude"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "CSize"),
                                      cTypeSpecInstances =
                                      Map.fromList
                                        [
                                          _×_
                                            Bits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Bounded
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Enum
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Eq
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            FiniteBits
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Integral
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ix
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Num
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Ord
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Read
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            ReadRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            StaticSize
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            WriteRaw
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 0,
                                structFieldWidth = Nothing}],
                            structFlam = Just
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "doxygen_docs.h:362:9",
                                  fieldName = NamePair {
                                    nameC = Name "data",
                                    nameHsIdent = Identifier
                                      "flexible_array_data"},
                                  fieldComment = Just
                                    (Comment
                                      [
                                        Paragraph [TextContent ""],
                                        BlockCommand {
                                          blockCommandName = "brief",
                                          blockCommandArgs = [],
                                          blockCommandParagraph = [
                                            TextContent
                                              "Flexible array member"]}])},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Signed),
                                structFieldOffset = 64,
                                structFieldWidth = Nothing}},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Just
                          "flexible_array",
                        commentLocation = Just
                          "doxygen_docs.h:360:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["doxygen_docs.h"],
                            headerInclude =
                            "doxygen_docs.h"},
                        commentChildren = [
                          Paragraph
                            [
                              TextContent
                                "Function with flexible array member"],
                          DefinitionList {
                            definitionListTerm = Bold
                              [
                                Monospace [TextContent "count"],
                                Emph [TextContent "(input)"]],
                            definitionListContent = [
                              Paragraph
                                [
                                  TextContent
                                    "Number of elements"]]},
                          Paragraph
                            [
                              Bold [TextContent "returns:"],
                              TextContent
                                "Allocated structure"]]}}
                  (Add 1)
                  (Seq
                    [
                      PokeByteOff
                        (Idx 2)
                        0
                        (Idx 0)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Flexible_array",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Flexible_array",
        deriveInstanceComment =
        Nothing},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceHasFLAM
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Flexible_array",
            structConstr = Name
              "@NsConstr"
              "Flexible_array",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "flexible_array_count",
                fieldType = HsExtBinding
                  ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "CSize"}
                  CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "CSize"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]},
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "doxygen_docs.h:361:12",
                      fieldName = NamePair {
                        nameC = Name "count",
                        nameHsIdent = Identifier
                          "flexible_array_count"},
                      fieldComment = Just
                        (Comment
                          [
                            Paragraph [TextContent ""],
                            BlockCommand {
                              blockCommandName = "brief",
                              blockCommandArgs = [],
                              blockCommandParagraph = [
                                TextContent
                                  "Number of elements"]}])},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "size_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "CSize"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "CSize"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "count",
                    commentLocation = Just
                      "doxygen_docs.h:361:12",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["doxygen_docs.h"],
                        headerInclude =
                        "doxygen_docs.h"},
                    commentChildren = [
                      Paragraph
                        [
                          TextContent
                            "Number of elements"]]}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc =
                  "doxygen_docs.h:360:8",
                  declId = NamePair {
                    nameC = Name "flexible_array",
                    nameHsIdent = Identifier
                      "Flexible_array"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["doxygen_docs.h"],
                      headerInclude =
                      "doxygen_docs.h"},
                  declComment = Just
                    (Comment
                      [
                        Paragraph [TextContent ""],
                        BlockCommand {
                          blockCommandName = "brief",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Function with flexible array member"]},
                        Paragraph [TextContent ""],
                        ParamCommand {
                          paramCommandName = "count",
                          paramCommandIndex = Nothing,
                          paramCommandDirection = Just
                            CXCommentParamPassDirection_In,
                          paramCommandIsDirectionExplicit =
                          False,
                          paramCommandContent = [
                            Paragraph
                              [
                                TextContent
                                  "Number of elements",
                                TextContent ""]]},
                        BlockCommand {
                          blockCommandName = "return",
                          blockCommandArgs = [],
                          blockCommandParagraph = [
                            TextContent
                              "Allocated structure"]}])},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name
                        "@NsConstr"
                        "Flexible_array"),
                    structSizeof = 8,
                    structAlignment = 8,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:361:12",
                          fieldName = NamePair {
                            nameC = Name "count",
                            nameHsIdent = Identifier
                              "flexible_array_count"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Number of elements"]}])},
                        structFieldType = TypeExtBinding
                          ResolvedExtBinding {
                            extCName = QualName {
                              qualNameName = Name "size_t",
                              qualNameKind =
                              NameKindOrdinary},
                            extHsRef = ExtRef {
                              extRefModule = ModuleName
                                "HsBindgen.Runtime.Prelude",
                              extRefIdentifier = Identifier
                                "CSize"},
                            extHsSpec = CTypeSpec {
                              cTypeSpecModule = Just
                                (ModuleName
                                  "HsBindgen.Runtime.Prelude"),
                              cTypeSpecIdentifier = Just
                                (Identifier "CSize"),
                              cTypeSpecInstances =
                              Map.fromList
                                [
                                  _×_
                                    Bits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Bounded
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Enum
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Eq
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    FiniteBits
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Integral
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ix
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Num
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Ord
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Read
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    ReadRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Real
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Show
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    StaticSize
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Storable
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    WriteRaw
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = [
                                          ]})]}},
                        structFieldOffset = 0,
                        structFieldWidth = Nothing}],
                    structFlam = Just
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "doxygen_docs.h:362:9",
                          fieldName = NamePair {
                            nameC = Name "data",
                            nameHsIdent = Identifier
                              "flexible_array_data"},
                          fieldComment = Just
                            (Comment
                              [
                                Paragraph [TextContent ""],
                                BlockCommand {
                                  blockCommandName = "brief",
                                  blockCommandArgs = [],
                                  blockCommandParagraph = [
                                    TextContent
                                      "Flexible array member"]}])},
                        structFieldType = TypePrim
                          (PrimIntegral PrimInt Signed),
                        structFieldOffset = 64,
                        structFieldWidth = Nothing}},
                declSpec = DeclSpec
                  CTypeSpec {
                    cTypeSpecModule = Nothing,
                    cTypeSpecIdentifier = Nothing,
                    cTypeSpecInstances =
                    Map.fromList []}},
            structInstances = Set.fromList
              [Eq, Show, Storable],
            structComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "flexible_array",
                commentLocation = Just
                  "doxygen_docs.h:360:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["doxygen_docs.h"],
                    headerInclude =
                    "doxygen_docs.h"},
                commentChildren = [
                  Paragraph
                    [
                      TextContent
                        "Function with flexible array member"],
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "count"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Number of elements"]]},
                  Paragraph
                    [
                      Bold [TextContent "returns:"],
                      TextContent
                        "Allocated structure"]]}}
          (HsPrimType HsPrimCInt)
          8,
        defineInstanceComment =
        Nothing},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "process_data",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "input_data"),
            functionParameterType = HsPtr
              (HsExtBinding
                ExtRef {
                  extRefModule = ModuleName
                    "HsBindgen.Runtime.Prelude",
                  extRefIdentifier = Identifier
                    "Word8"}
                CTypeSpec {
                  cTypeSpecModule = Just
                    (ModuleName
                      "HsBindgen.Runtime.Prelude"),
                  cTypeSpecIdentifier = Just
                    (Identifier "Word8"),
                  cTypeSpecInstances =
                  Map.fromList
                    [
                      _×_
                        Bits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Bounded
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Enum
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Eq
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        FiniteBits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Integral
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ix
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Num
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ord
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Read
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        ReadRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Real
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Show
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        StaticSize
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Storable
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        WriteRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = [
                              ]})]}),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "input_data",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "input_data"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Input data buffer"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "output_data"),
            functionParameterType = HsPtr
              (HsExtBinding
                ExtRef {
                  extRefModule = ModuleName
                    "HsBindgen.Runtime.Prelude",
                  extRefIdentifier = Identifier
                    "Word8"}
                CTypeSpec {
                  cTypeSpecModule = Just
                    (ModuleName
                      "HsBindgen.Runtime.Prelude"),
                  cTypeSpecIdentifier = Just
                    (Identifier "Word8"),
                  cTypeSpecInstances =
                  Map.fromList
                    [
                      _×_
                        Bits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Bounded
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Enum
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Eq
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        FiniteBits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Integral
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ix
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Num
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ord
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Read
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        ReadRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Real
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Show
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        StaticSize
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Storable
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        WriteRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = [
                              ]})]}),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "output_data",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "output_data"],
                        Emph [TextContent "(output)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Output data buffer"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "size"),
            functionParameterType = HsPtr
              (HsExtBinding
                ExtRef {
                  extRefModule = ModuleName
                    "HsBindgen.Runtime.Prelude",
                  extRefIdentifier = Identifier
                    "CSize"}
                CTypeSpec {
                  cTypeSpecModule = Just
                    (ModuleName
                      "HsBindgen.Runtime.Prelude"),
                  cTypeSpecIdentifier = Just
                    (Identifier "CSize"),
                  cTypeSpecInstances =
                  Map.fromList
                    [
                      _×_
                        Bits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Bounded
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Enum
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Eq
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        FiniteBits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Integral
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ix
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Num
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ord
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Read
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        ReadRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Real
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Show
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        StaticSize
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Storable
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        WriteRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = [
                              ]})]}),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "size",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "size"],
                        Emph
                          [TextContent "(input,output)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Size of data, updated on return"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_508324ba72521a99",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_508324ba72521a99 (uint8_t const *arg1, uint8_t *arg2, size_t *arg3) { return process_data(arg1, arg2, arg3); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "input_data",
                    nameHsIdent = Identifier
                      "input_data"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint8_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word8"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word8"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}}))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "output_data",
                    nameHsIdent = Identifier
                      "output_data"})
                (TypePointer
                  (TypeExtBinding
                    ResolvedExtBinding {
                      extCName = QualName {
                        qualNameName = Name "uint8_t",
                        qualNameKind =
                        NameKindOrdinary},
                      extHsRef = ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "Word8"},
                      extHsSpec = CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "Word8"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}})),
              _×_
                (Just
                  NamePair {
                    nameC = Name "size",
                    nameHsIdent = Identifier
                      "size"})
                (TypePointer
                  (TypeExtBinding
                    ResolvedExtBinding {
                      extCName = QualName {
                        qualNameName = Name "size_t",
                        qualNameKind =
                        NameKindOrdinary},
                      extHsRef = ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "CSize"},
                      extHsSpec = CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "CSize"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}}))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment =
        Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "process_data",
            commentLocation = Just
              "doxygen_docs.h:105:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren =
            [
              Paragraph
                [
                  TextContent
                    "Function with detailed parameter documentation"],
              Paragraph
                [
                  TextContent
                    "This function shows different parameter directions and types."],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "input_data"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Input data buffer"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "output_data"],
                    Emph [TextContent "(output)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Output data buffer"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "size"],
                    Emph
                      [TextContent "(input,output)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Size of data, updated on return"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Status code (0 = success, -1 = error)"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "process_file",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "filename"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCChar),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "filename",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "filename"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent "The",
                          Monospace [TextContent "char*"],
                          TextContent
                            "filename to process"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_02a55804dd9edb28",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_doxygen_docs_02a55804dd9edb28 (char const *arg1) { return process_file(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "filename",
                    nameHsIdent = Identifier
                      "filename"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimChar
                        (PrimSignImplicit Nothing)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "process_file",
            commentLocation = Just
              "doxygen_docs.h:116:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with inline commands and formatting"],
              Paragraph
                [
                  TextContent
                    "This function uses",
                  Monospace
                    [TextContent "inline"],
                  Monospace [TextContent "code"],
                  TextContent "formatting and",
                  Bold [TextContent "bold"],
                  TextContent "text.",
                  TextContent
                    "It also demonstrates",
                  Emph [TextContent "emphasized"],
                  TextContent "text."],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "filename"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent "The",
                      Monospace [TextContent "char*"],
                      TextContent
                        "filename to process"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  Monospace [TextContent "true"],
                  TextContent "if successful,",
                  Monospace [TextContent "false"],
                  TextContent "otherwise"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "calculate_value",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "base"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "base",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "base"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [TextContent "Base value"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "multiplier"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "multiplier",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "multiplier"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Multiplier value"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_7ce4f4a3b2997c64",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_7ce4f4a3b2997c64 (signed int arg1, signed int arg2) { return calculate_value(arg1, arg2); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "base",
                    nameHsIdent = Identifier
                      "base"})
                (TypePrim
                  (PrimIntegral PrimInt Signed)),
              _×_
                (Just
                  NamePair {
                    nameC = Name "multiplier",
                    nameHsIdent = Identifier
                      "multiplier"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "calculate_value",
            commentLocation = Just
              "doxygen_docs.h:131:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with verbatim code blocks"],
              Paragraph
                [TextContent "Example usage:"],
              CodeBlock
                [
                  "int result = calculate_value(10, 20);",
                  "printf(\"Result: %d@n\", result);"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "base"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Base value"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "multiplier"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Multiplier value"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Calculated result"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "html_example",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "value"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "value",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "value"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Input value"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_b971c7e6099b9f35",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_doxygen_docs_b971c7e6099b9f35 (signed int arg1) { return html_example(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "value",
                    nameHsIdent = Identifier
                      "value"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "html_example",
            commentLocation = Just
              "doxygen_docs.h:148:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with HTML formatting"],
              Paragraph
                [
                  TextContent
                    "This function demonstrates",
                  TextContent "HTML bold",
                  TextContent "and",
                  TextContent "italic",
                  TextContent "text.",
                  TextContent "It also shows",
                  TextContent "HTML code",
                  TextContent "formatting."],
              Paragraph
                [
                  TextContent "Input",
                  TextContent "Output",
                  TextContent "0",
                  TextContent "false",
                  TextContent "1",
                  TextContent "true"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "value"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input value"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Boolean result"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "list_example",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "items"),
            functionParameterType = HsPtr
              (HsPtr
                (HsPrimType HsPrimCChar)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "items",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "items"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Array of items"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "count"),
            functionParameterType =
            HsPrimType HsPrimCSize,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "count",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "count"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Number of items"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_b42fb41209c21d6e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_doxygen_docs_b42fb41209c21d6e (char const **arg1, size_t arg2) { return list_example(arg1, arg2); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "items",
                    nameHsIdent = Identifier
                      "items"})
                (TypePointer
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimChar
                          (PrimSignImplicit Nothing)))))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "count",
                    nameHsIdent = Identifier
                      "count"})
                (TypePrim PrimSize)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "list_example",
            commentLocation = Just
              "doxygen_docs.h:174:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with lists and special formatting"],
              Paragraph
                [
                  TextContent
                    "This function demonstrates:"],
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Bullet point lists"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Nested list item 1"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Nested list item 2"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent "Multiple items"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Nested formatting"]]},
              Paragraph
                [TextContent "Numbered list:"],
              ListItem {
                listItemType = NumberedList 1,
                listItemContent = [
                  Paragraph
                    [
                      TextContent "First",
                      Monospace
                        [TextContent "item"]]]},
              ListItem {
                listItemType = NumberedList 1,
                listItemContent = [
                  Paragraph
                    [TextContent "item"]]},
              ListItem {
                listItemType = NumberedList 2,
                listItemContent = [
                  Paragraph
                    [
                      TextContent "Second",
                      Bold [TextContent "item"]]]},
              ListItem {
                listItemType = NumberedList 3,
                listItemContent = [
                  Paragraph
                    [TextContent "Third item"]]},
              Paragraph
                [
                  TextContent
                    "Other numbered list:"],
              ListItem {
                listItemType = NumberedList 1,
                listItemContent = [
                  Paragraph [TextContent "A"]]},
              ListItem {
                listItemType = NumberedList 2,
                listItemContent = [
                  Paragraph [TextContent "B"]]},
              ListItem {
                listItemType = NumberedList 3,
                listItemContent = [
                  Paragraph [TextContent "C"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "items"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent "Array of items"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "count"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Number of items"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Success status"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "dangerous_function",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "ptr"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimVoid),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "ptr",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "ptr"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Pointer to data"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimVoid))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_344ca27a161ed698",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void *hs_bindgen_test_doxygen_docs_344ca27a161ed698 (void *arg1) { return dangerous_function(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "ptr",
                    nameHsIdent = Identifier "ptr"})
                (TypePointer TypeVoid)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "dangerous_function",
            commentLocation = Just
              "doxygen_docs.h:186:7",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with warnings and notes"],
              Paragraph
                [
                  Bold
                    [Emph [TextContent "WARNING:"]],
                  TextContent
                    "This function may cause side effects"],
              Paragraph
                [
                  Bold [TextContent "Note:"],
                  TextContent
                    "Use with caution in multithreaded environments"],
              Paragraph
                [
                  Bold [TextContent "see:"],
                  TextContent
                    "related_function() for similar functionality"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "ptr"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Pointer to data"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Modified pointer"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "detailed_return_codes",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "input"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCChar),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "input",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "input"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Input string"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_4e897ea8e36e2189",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_4e897ea8e36e2189 (char const *arg1) { return detailed_return_codes(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "input",
                    nameHsIdent = Identifier
                      "input"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimChar
                        (PrimSignImplicit
                          (Just Signed))))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "detailed_return_codes",
            commentLocation = Just
              "doxygen_docs.h:197:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with return value details"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "input"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input string"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "0",
                  TextContent "Success"],
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "-1",
                  TextContent "Invalid input"],
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "-2",
                  TextContent
                    "Memory allocation failed"],
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "-3",
                  TextContent
                    "Processing error"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "old_function",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "old_param"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "old_param",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "old_param"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Legacy parameter"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_aee6bb852150141b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_aee6bb852150141b (signed int arg1) { return old_function(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "old_param",
                    nameHsIdent = Identifier
                      "old_param"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "old_function",
            commentLocation = Just
              "doxygen_docs.h:206:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with deprecated annotation"],
              Paragraph
                [
                  Bold
                    [TextContent "deprecated:"],
                  TextContent
                    "Use new_function() instead"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "old_param"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Legacy parameter"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Legacy result"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "versioned_function",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "data'"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "data'",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_e655a7662e006c99",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_e655a7662e006c99 (signed int arg1) { return versioned_function(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "data",
                    nameHsIdent = Identifier
                      "data'"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "versioned_function",
            commentLocation = Just
              "doxygen_docs.h:216:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with version information"],
              Paragraph
                [Metadata (Since " 1.0")],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "data"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input data"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Processed data"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "process_buffer",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "buffer"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCChar),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "buffer",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "buffer"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Buffer with minimum size"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "size"),
            functionParameterType =
            HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "CSize"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "CSize"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "size",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "size"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Actual buffer size"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_d8a2703f133ce8c2",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_d8a2703f133ce8c2 (char *arg1, size_t arg2) { return process_buffer(arg1, arg2); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "buffer",
                    nameHsIdent = Identifier
                      "buffer"})
                (TypeConstArray
                  64
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit
                        (Just Signed))))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "size",
                    nameHsIdent = Identifier
                      "size"})
                (TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "size_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}})],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "process_buffer",
            commentLocation = Just
              "doxygen_docs.h:332:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Static array parameter"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "buffer"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Buffer with minimum size"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "size"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Actual buffer size"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Number of bytes written"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "my_memcpy",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "dest"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimVoid),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "dest",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "dest"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Destination buffer (restrict)"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "src"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimVoid),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "src",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "src"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Source buffer (restrict)"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "n"),
            functionParameterType =
            HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "CSize"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "CSize"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "n",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "n"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Number of bytes"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimVoid))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_4b3bfd2d72a2db5d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void *hs_bindgen_test_doxygen_docs_4b3bfd2d72a2db5d (void *arg1, void const *arg2, size_t arg3) { return my_memcpy(arg1, arg2, arg3); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "dest",
                    nameHsIdent = Identifier
                      "dest"})
                (TypePointer TypeVoid),
              _×_
                (Just
                  NamePair {
                    nameC = Name "src",
                    nameHsIdent = Identifier "src"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    TypeVoid)),
              _×_
                (Just
                  NamePair {
                    nameC = Name "n",
                    nameHsIdent = Identifier "n"})
                (TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "size_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}})],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "my_memcpy",
            commentLocation = Just
              "doxygen_docs.h:342:7",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with restrict pointers"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "dest"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Destination buffer (restrict)"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "src"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Source buffer (restrict)"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "n"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Number of bytes"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Destination pointer"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "double_value",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "x"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Input value"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_4a61cf13840fa8c5",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_4a61cf13840fa8c5 (signed int arg1) { return double_value(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "double_value",
            commentLocation = Just
              "doxygen_docs.h:350:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [TextContent "Inline function"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "x"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input value"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Doubled value"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "complex_function",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "config"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Config_t")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "config",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "config"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Configuration structure (see",
                          Identifier "Config_t",
                          TextContent ")"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "data'"),
            functionParameterType = HsPtr
              (HsExtBinding
                ExtRef {
                  extRefModule = ModuleName
                    "HsBindgen.Runtime.Prelude",
                  extRefIdentifier = Identifier
                    "Word8"}
                CTypeSpec {
                  cTypeSpecModule = Just
                    (ModuleName
                      "HsBindgen.Runtime.Prelude"),
                  cTypeSpecIdentifier = Just
                    (Identifier "Word8"),
                  cTypeSpecInstances =
                  Map.fromList
                    [
                      _×_
                        Bits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Bounded
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Enum
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Eq
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        FiniteBits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Integral
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ix
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Num
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ord
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Read
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        ReadRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Real
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Show
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        StaticSize
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Storable
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        WriteRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = [
                              ]})]}),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "data'",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "size"),
            functionParameterType =
            HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "CSize"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "CSize"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "size",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "size"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Size of input data"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Status_code_t"))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_848ab7c74f34f667",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "status_code_t hs_bindgen_test_doxygen_docs_848ab7c74f34f667 (config_t *arg1, uint8_t const *arg2, size_t arg3) { return complex_function(arg1, arg2, arg3); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "config",
                    nameHsIdent = Identifier
                      "config"})
                (TypePointer
                  (TypeTypedef
                    (TypedefSquashed
                      (Name "config_t")
                      (TypeStruct
                        NamePair {
                          nameC = Name "config_t",
                          nameHsIdent = Identifier
                            "Config_t"}
                        (NameOriginGenerated
                          (AnonId
                            "doxygen_docs.h:232:9")))))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "data",
                    nameHsIdent = Identifier
                      "data'"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint8_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word8"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word8"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}}))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "size",
                    nameHsIdent = Identifier
                      "size"})
                (TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "size_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}})],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeTypedef
              (TypedefSquashed
                (Name "status_code_t")
                (TypeEnum
                  NamePair {
                    nameC = Name "status_code_t",
                    nameHsIdent = Identifier
                      "Status_code_t"}
                  (NameOriginGenerated
                    (AnonId
                      "doxygen_docs.h:258:9"))))},
        foreignImportComment =
        Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "complex_function",
            commentLocation = Just
              "doxygen_docs.h:423:15",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren =
            [
              Paragraph
                [
                  TextContent
                    "Function with complex documentation"],
              Paragraph
                [
                  TextContent
                    "This function demonstrates multiple documentation features:"],
              Paragraph
                [
                  Bold
                    [TextContent "Description:"]],
              Paragraph
                [
                  TextContent
                    "Performs complex data processing with multiple steps."],
              Paragraph
                [
                  Bold
                    [TextContent "Algorithm:"]],
              ListItem {
                listItemType = NumberedList 10,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Validate input parameters"]]},
              ListItem {
                listItemType = NumberedList 200,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Allocate temporary buffers"]]},
              ListItem {
                listItemType = NumberedList
                  3000,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Process data in chunks"]]},
              ListItem {
                listItemType = NumberedList
                  41235,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Clean up resources"]]},
              Paragraph
                [
                  Bold
                    [TextContent "Algorithm2:"]],
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Validate input parameters"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Allocate temporary buffers"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Process data in chunks"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Clean up resources"]]},
              Paragraph
                [Bold [TextContent "Example:"]],
              CodeBlock
                [
                  "config_t cfg = {",
                  ".id = 1,",
                  ".name = \"test\",",
                  ".flags = 0,",
                  ".callback = my_callback,",
                  ".user_data = NULL",
                  "};",
                  "",
                  "status_code_t result = complex_function(&cfg, data, size);",
                  "if (result != STATUS_OK) {",
                  "handle_error(result);",
                  "}"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "config"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Configuration structure (see",
                      Identifier "Config_t",
                      TextContent ")"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "data"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Input data buffer"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "size"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Size of input data"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Status code indicating success or failure"],
              Paragraph
                [
                  Bold
                    [TextContent "pre condition:"],
                  TextContent
                    "config must not be NULL"],
              Paragraph
                [
                  Bold
                    [TextContent "pre condition:"],
                  TextContent
                    "data must not be NULL if size > 0"],
              Paragraph
                [
                  Bold
                    [TextContent "post condition:"],
                  TextContent
                    "Output data is written to config->user_data"],
              Paragraph
                [
                  Bold
                    [Emph [TextContent "WARNING:"]],
                  TextContent
                    "May return NULL if memory allocation fails"],
              Paragraph
                [
                  Bold
                    [Emph [TextContent "WARNING:"]],
                  TextContent
                    "Sets errno to EINVAL if parameters are invalid"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hash",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "s"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCChar),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "s",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_e30754e2591f701a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_e30754e2591f701a (char *arg1) { return hash(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "s",
                    nameHsIdent = Identifier "s"})
                (TypePointer
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit
                        (Just Signed)))))],
            functionAttrs =
            FunctionAttributes
              CPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "hash",
            commentLocation = Just
              "doxygen_docs.h:427:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent "Marked",
                  Monospace
                    [
                      Bold
                        [
                          TextContent
                            "attribute((pure))"]]]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsPrimType HsPrimCInt),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_55e5eb89e54abf83",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_55e5eb89e54abf83 (signed int arg1) { return square(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              HaskellPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "square",
            commentLocation = Just
              "doxygen_docs.h:429:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "process_data",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "input_data"),
            functionParameterType = HsPtr
              (HsExtBinding
                ExtRef {
                  extRefModule = ModuleName
                    "HsBindgen.Runtime.Prelude",
                  extRefIdentifier = Identifier
                    "Word8"}
                CTypeSpec {
                  cTypeSpecModule = Just
                    (ModuleName
                      "HsBindgen.Runtime.Prelude"),
                  cTypeSpecIdentifier = Just
                    (Identifier "Word8"),
                  cTypeSpecInstances =
                  Map.fromList
                    [
                      _×_
                        Bits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Bounded
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Enum
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Eq
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        FiniteBits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Integral
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ix
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Num
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ord
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Read
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        ReadRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Real
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Show
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        StaticSize
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Storable
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        WriteRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = [
                              ]})]}),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "input_data",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "input_data"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Input data buffer"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "output_data"),
            functionParameterType = HsPtr
              (HsExtBinding
                ExtRef {
                  extRefModule = ModuleName
                    "HsBindgen.Runtime.Prelude",
                  extRefIdentifier = Identifier
                    "Word8"}
                CTypeSpec {
                  cTypeSpecModule = Just
                    (ModuleName
                      "HsBindgen.Runtime.Prelude"),
                  cTypeSpecIdentifier = Just
                    (Identifier "Word8"),
                  cTypeSpecInstances =
                  Map.fromList
                    [
                      _×_
                        Bits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Bounded
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Enum
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Eq
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        FiniteBits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Integral
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ix
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Num
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ord
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Read
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        ReadRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Real
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Show
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        StaticSize
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Storable
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        WriteRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = [
                              ]})]}),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "output_data",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "output_data"],
                        Emph [TextContent "(output)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Output data buffer"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "size"),
            functionParameterType = HsPtr
              (HsExtBinding
                ExtRef {
                  extRefModule = ModuleName
                    "HsBindgen.Runtime.Prelude",
                  extRefIdentifier = Identifier
                    "CSize"}
                CTypeSpec {
                  cTypeSpecModule = Just
                    (ModuleName
                      "HsBindgen.Runtime.Prelude"),
                  cTypeSpecIdentifier = Just
                    (Identifier "CSize"),
                  cTypeSpecInstances =
                  Map.fromList
                    [
                      _×_
                        Bits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Bounded
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Enum
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Eq
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        FiniteBits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Integral
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ix
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Num
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ord
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Read
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        ReadRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Real
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Show
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        StaticSize
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Storable
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        WriteRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = [
                              ]})]}),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "size",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "size"],
                        Emph
                          [TextContent "(input,output)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Size of data, updated on return"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_2d2b30c70759c0c4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_2d2b30c70759c0c4 (uint8_t const *arg1, uint8_t *arg2, size_t *arg3) { return process_data(arg1, arg2, arg3); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "input_data",
                    nameHsIdent = Identifier
                      "input_data"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint8_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word8"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word8"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}}))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "output_data",
                    nameHsIdent = Identifier
                      "output_data"})
                (TypePointer
                  (TypeExtBinding
                    ResolvedExtBinding {
                      extCName = QualName {
                        qualNameName = Name "uint8_t",
                        qualNameKind =
                        NameKindOrdinary},
                      extHsRef = ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "Word8"},
                      extHsSpec = CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "Word8"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}})),
              _×_
                (Just
                  NamePair {
                    nameC = Name "size",
                    nameHsIdent = Identifier
                      "size"})
                (TypePointer
                  (TypeExtBinding
                    ResolvedExtBinding {
                      extCName = QualName {
                        qualNameName = Name "size_t",
                        qualNameKind =
                        NameKindOrdinary},
                      extHsRef = ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "CSize"},
                      extHsSpec = CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "CSize"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}}))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment =
        Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "process_data",
            commentLocation = Just
              "doxygen_docs.h:105:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren =
            [
              Paragraph
                [
                  TextContent
                    "Function with detailed parameter documentation"],
              Paragraph
                [
                  TextContent
                    "This function shows different parameter directions and types."],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "input_data"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Input data buffer"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "output_data"],
                    Emph [TextContent "(output)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Output data buffer"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "size"],
                    Emph
                      [TextContent "(input,output)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Size of data, updated on return"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Status code (0 = success, -1 = error)"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "process_file",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "filename"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCChar),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "filename",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "filename"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent "The",
                          Monospace [TextContent "char*"],
                          TextContent
                            "filename to process"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_d6a9988889495ac1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_doxygen_docs_d6a9988889495ac1 (char const *arg1) { return process_file(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "filename",
                    nameHsIdent = Identifier
                      "filename"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimChar
                        (PrimSignImplicit Nothing)))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "process_file",
            commentLocation = Just
              "doxygen_docs.h:116:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with inline commands and formatting"],
              Paragraph
                [
                  TextContent
                    "This function uses",
                  Monospace
                    [TextContent "inline"],
                  Monospace [TextContent "code"],
                  TextContent "formatting and",
                  Bold [TextContent "bold"],
                  TextContent "text.",
                  TextContent
                    "It also demonstrates",
                  Emph [TextContent "emphasized"],
                  TextContent "text."],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "filename"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent "The",
                      Monospace [TextContent "char*"],
                      TextContent
                        "filename to process"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  Monospace [TextContent "true"],
                  TextContent "if successful,",
                  Monospace [TextContent "false"],
                  TextContent "otherwise"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "calculate_value",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "base"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "base",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "base"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [TextContent "Base value"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "multiplier"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "multiplier",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "multiplier"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Multiplier value"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_082e1bba4d72bc95",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_082e1bba4d72bc95 (signed int arg1, signed int arg2) { return calculate_value(arg1, arg2); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "base",
                    nameHsIdent = Identifier
                      "base"})
                (TypePrim
                  (PrimIntegral PrimInt Signed)),
              _×_
                (Just
                  NamePair {
                    nameC = Name "multiplier",
                    nameHsIdent = Identifier
                      "multiplier"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "calculate_value",
            commentLocation = Just
              "doxygen_docs.h:131:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with verbatim code blocks"],
              Paragraph
                [TextContent "Example usage:"],
              CodeBlock
                [
                  "int result = calculate_value(10, 20);",
                  "printf(\"Result: %d@n\", result);"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "base"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Base value"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "multiplier"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Multiplier value"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Calculated result"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "html_example",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "value"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "value",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "value"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Input value"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_fddff4284f0988ec",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_doxygen_docs_fddff4284f0988ec (signed int arg1) { return html_example(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "value",
                    nameHsIdent = Identifier
                      "value"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "html_example",
            commentLocation = Just
              "doxygen_docs.h:148:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with HTML formatting"],
              Paragraph
                [
                  TextContent
                    "This function demonstrates",
                  TextContent "HTML bold",
                  TextContent "and",
                  TextContent "italic",
                  TextContent "text.",
                  TextContent "It also shows",
                  TextContent "HTML code",
                  TextContent "formatting."],
              Paragraph
                [
                  TextContent "Input",
                  TextContent "Output",
                  TextContent "0",
                  TextContent "false",
                  TextContent "1",
                  TextContent "true"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "value"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input value"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Boolean result"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "list_example",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "items"),
            functionParameterType = HsPtr
              (HsPtr
                (HsPrimType HsPrimCChar)),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "items",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "items"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Array of items"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "count"),
            functionParameterType =
            HsPrimType HsPrimCSize,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "count",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "count"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Number of items"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCBool)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_41af05ef1797fa6d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "_Bool hs_bindgen_test_doxygen_docs_41af05ef1797fa6d (char const **arg1, size_t arg2) { return list_example(arg1, arg2); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "items",
                    nameHsIdent = Identifier
                      "items"})
                (TypePointer
                  (TypePointer
                    (TypeQualified
                      TypeQualifierConst
                      (TypePrim
                        (PrimChar
                          (PrimSignImplicit Nothing)))))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "count",
                    nameHsIdent = Identifier
                      "count"})
                (TypePrim PrimSize)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              PrimBool},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "list_example",
            commentLocation = Just
              "doxygen_docs.h:174:6",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with lists and special formatting"],
              Paragraph
                [
                  TextContent
                    "This function demonstrates:"],
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Bullet point lists"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Nested list item 1"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Nested list item 2"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent "Multiple items"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Nested formatting"]]},
              Paragraph
                [TextContent "Numbered list:"],
              ListItem {
                listItemType = NumberedList 1,
                listItemContent = [
                  Paragraph
                    [
                      TextContent "First",
                      Monospace
                        [TextContent "item"]]]},
              ListItem {
                listItemType = NumberedList 1,
                listItemContent = [
                  Paragraph
                    [TextContent "item"]]},
              ListItem {
                listItemType = NumberedList 2,
                listItemContent = [
                  Paragraph
                    [
                      TextContent "Second",
                      Bold [TextContent "item"]]]},
              ListItem {
                listItemType = NumberedList 3,
                listItemContent = [
                  Paragraph
                    [TextContent "Third item"]]},
              Paragraph
                [
                  TextContent
                    "Other numbered list:"],
              ListItem {
                listItemType = NumberedList 1,
                listItemContent = [
                  Paragraph [TextContent "A"]]},
              ListItem {
                listItemType = NumberedList 2,
                listItemContent = [
                  Paragraph [TextContent "B"]]},
              ListItem {
                listItemType = NumberedList 3,
                listItemContent = [
                  Paragraph [TextContent "C"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "items"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent "Array of items"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "count"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Number of items"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Success status"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "dangerous_function",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "ptr"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimVoid),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "ptr",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "ptr"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Pointer to data"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimVoid))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_3f6186f38de47df9",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void *hs_bindgen_test_doxygen_docs_3f6186f38de47df9 (void *arg1) { return dangerous_function(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "ptr",
                    nameHsIdent = Identifier "ptr"})
                (TypePointer TypeVoid)],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "dangerous_function",
            commentLocation = Just
              "doxygen_docs.h:186:7",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with warnings and notes"],
              Paragraph
                [
                  Bold
                    [Emph [TextContent "WARNING:"]],
                  TextContent
                    "This function may cause side effects"],
              Paragraph
                [
                  Bold [TextContent "Note:"],
                  TextContent
                    "Use with caution in multithreaded environments"],
              Paragraph
                [
                  Bold [TextContent "see:"],
                  TextContent
                    "related_function() for similar functionality"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "ptr"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Pointer to data"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Modified pointer"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "detailed_return_codes",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "input"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCChar),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "input",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "input"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Input string"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_b5913ddf382b031a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_b5913ddf382b031a (char const *arg1) { return detailed_return_codes(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "input",
                    nameHsIdent = Identifier
                      "input"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimChar
                        (PrimSignImplicit
                          (Just Signed))))))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "detailed_return_codes",
            commentLocation = Just
              "doxygen_docs.h:197:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with return value details"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "input"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input string"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "0",
                  TextContent "Success"],
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "-1",
                  TextContent "Invalid input"],
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "-2",
                  TextContent
                    "Memory allocation failed"],
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "-3",
                  TextContent
                    "Processing error"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "old_function",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "old_param"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "old_param",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "old_param"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Legacy parameter"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_2b7f6e5fbd1f46e1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_2b7f6e5fbd1f46e1 (signed int arg1) { return old_function(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "old_param",
                    nameHsIdent = Identifier
                      "old_param"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "old_function",
            commentLocation = Just
              "doxygen_docs.h:206:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with deprecated annotation"],
              Paragraph
                [
                  Bold
                    [TextContent "deprecated:"],
                  TextContent
                    "Use new_function() instead"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "old_param"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Legacy parameter"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Legacy result"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "versioned_function",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "data'"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "data'",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_7760ce72dbe3dbbb",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_7760ce72dbe3dbbb (signed int arg1) { return versioned_function(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "data",
                    nameHsIdent = Identifier
                      "data'"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "versioned_function",
            commentLocation = Just
              "doxygen_docs.h:216:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with version information"],
              Paragraph
                [Metadata (Since " 1.0")],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "data"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input data"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Processed data"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "process_buffer",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "buffer"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCChar),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "buffer",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "buffer"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Buffer with minimum size"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "size"),
            functionParameterType =
            HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "CSize"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "CSize"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "size",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "size"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Actual buffer size"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_75f51ea0caca0775",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_75f51ea0caca0775 (char *arg1, size_t arg2) { return process_buffer(arg1, arg2); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "buffer",
                    nameHsIdent = Identifier
                      "buffer"})
                (TypeConstArray
                  64
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit
                        (Just Signed))))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "size",
                    nameHsIdent = Identifier
                      "size"})
                (TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "size_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}})],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "process_buffer",
            commentLocation = Just
              "doxygen_docs.h:332:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Static array parameter"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "buffer"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Buffer with minimum size"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "size"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Actual buffer size"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Number of bytes written"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "my_memcpy",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "dest"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimVoid),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "dest",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "dest"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Destination buffer (restrict)"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "src"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimVoid),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "src",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "src"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Source buffer (restrict)"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "n"),
            functionParameterType =
            HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "CSize"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "CSize"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "n",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "n"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Number of bytes"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimVoid))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_e8c4a96cefd6117e",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "void *hs_bindgen_test_doxygen_docs_e8c4a96cefd6117e (void *arg1, void const *arg2, size_t arg3) { return my_memcpy(arg1, arg2, arg3); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "dest",
                    nameHsIdent = Identifier
                      "dest"})
                (TypePointer TypeVoid),
              _×_
                (Just
                  NamePair {
                    nameC = Name "src",
                    nameHsIdent = Identifier "src"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    TypeVoid)),
              _×_
                (Just
                  NamePair {
                    nameC = Name "n",
                    nameHsIdent = Identifier "n"})
                (TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "size_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}})],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePointer
              TypeVoid},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "my_memcpy",
            commentLocation = Just
              "doxygen_docs.h:342:7",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent
                    "Function with restrict pointers"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "dest"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Destination buffer (restrict)"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "src"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Source buffer (restrict)"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "n"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Number of bytes"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Destination pointer"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "double_value",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "x"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Input value"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_e73c6e96d9e7581d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_e73c6e96d9e7581d (signed int arg1) { return double_value(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "double_value",
            commentLocation = Just
              "doxygen_docs.h:350:19",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [TextContent "Inline function"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "x"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [TextContent "Input value"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent "Doubled value"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "complex_function",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "config"),
            functionParameterType = HsPtr
              (HsTypRef
                (Name
                  "@NsTypeConstr"
                  "Config_t")),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "config",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace
                          [TextContent "config"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Configuration structure (see",
                          Identifier "Config_t",
                          TextContent ")"]]}]}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "data'"),
            functionParameterType = HsPtr
              (HsExtBinding
                ExtRef {
                  extRefModule = ModuleName
                    "HsBindgen.Runtime.Prelude",
                  extRefIdentifier = Identifier
                    "Word8"}
                CTypeSpec {
                  cTypeSpecModule = Just
                    (ModuleName
                      "HsBindgen.Runtime.Prelude"),
                  cTypeSpecIdentifier = Just
                    (Identifier "Word8"),
                  cTypeSpecInstances =
                  Map.fromList
                    [
                      _×_
                        Bits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Bounded
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Enum
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Eq
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        FiniteBits
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Integral
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ix
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Num
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Ord
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Read
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        ReadRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Real
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Show
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        StaticSize
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        Storable
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = []}),
                      _×_
                        WriteRaw
                        (Require
                          InstanceSpec {
                            instanceSpecStrategy = Nothing,
                            instanceSpecConstraints = [
                              ]})]}),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "data'",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}},
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "size"),
            functionParameterType =
            HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "HsBindgen.Runtime.Prelude",
                extRefIdentifier = Identifier
                  "CSize"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName
                    "HsBindgen.Runtime.Prelude"),
                cTypeSpecIdentifier = Just
                  (Identifier "CSize"),
                cTypeSpecInstances =
                Map.fromList
                  [
                    _×_
                      Bits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Bounded
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Enum
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Eq
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      FiniteBits
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Integral
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ix
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Num
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Ord
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Read
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      ReadRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      StaticSize
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      WriteRaw
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "size",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = [
                  DefinitionList {
                    definitionListTerm = Bold
                      [
                        Monospace [TextContent "size"],
                        Emph [TextContent "(input)"]],
                    definitionListContent = [
                      Paragraph
                        [
                          TextContent
                            "Size of input data"]]}]}}],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsTypRef
              (Name
                "@NsTypeConstr"
                "Status_code_t"))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_bc28ed88ec7705d4",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "status_code_t hs_bindgen_test_doxygen_docs_bc28ed88ec7705d4 (config_t *arg1, uint8_t const *arg2, size_t arg3) { return complex_function(arg1, arg2, arg3); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "config",
                    nameHsIdent = Identifier
                      "config"})
                (TypePointer
                  (TypeTypedef
                    (TypedefSquashed
                      (Name "config_t")
                      (TypeStruct
                        NamePair {
                          nameC = Name "config_t",
                          nameHsIdent = Identifier
                            "Config_t"}
                        (NameOriginGenerated
                          (AnonId
                            "doxygen_docs.h:232:9")))))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "data",
                    nameHsIdent = Identifier
                      "data'"})
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint8_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "Word8"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Word8"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}}))),
              _×_
                (Just
                  NamePair {
                    nameC = Name "size",
                    nameHsIdent = Identifier
                      "size"})
                (TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "size_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}})],
            functionAttrs =
            FunctionAttributes
              ImpureFunction,
            functionRes = TypeTypedef
              (TypedefSquashed
                (Name "status_code_t")
                (TypeEnum
                  NamePair {
                    nameC = Name "status_code_t",
                    nameHsIdent = Identifier
                      "Status_code_t"}
                  (NameOriginGenerated
                    (AnonId
                      "doxygen_docs.h:258:9"))))},
        foreignImportComment =
        Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "complex_function",
            commentLocation = Just
              "doxygen_docs.h:423:15",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren =
            [
              Paragraph
                [
                  TextContent
                    "Function with complex documentation"],
              Paragraph
                [
                  TextContent
                    "This function demonstrates multiple documentation features:"],
              Paragraph
                [
                  Bold
                    [TextContent "Description:"]],
              Paragraph
                [
                  TextContent
                    "Performs complex data processing with multiple steps."],
              Paragraph
                [
                  Bold
                    [TextContent "Algorithm:"]],
              ListItem {
                listItemType = NumberedList 10,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Validate input parameters"]]},
              ListItem {
                listItemType = NumberedList 200,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Allocate temporary buffers"]]},
              ListItem {
                listItemType = NumberedList
                  3000,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Process data in chunks"]]},
              ListItem {
                listItemType = NumberedList
                  41235,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Clean up resources"]]},
              Paragraph
                [
                  Bold
                    [TextContent "Algorithm2:"]],
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Validate input parameters"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Allocate temporary buffers"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Process data in chunks"]]},
              ListItem {
                listItemType = BulletList,
                listItemContent = [
                  Paragraph
                    [
                      TextContent
                        "Clean up resources"]]},
              Paragraph
                [Bold [TextContent "Example:"]],
              CodeBlock
                [
                  "config_t cfg = {",
                  ".id = 1,",
                  ".name = \"test\",",
                  ".flags = 0,",
                  ".callback = my_callback,",
                  ".user_data = NULL",
                  "};",
                  "",
                  "status_code_t result = complex_function(&cfg, data, size);",
                  "if (result != STATUS_OK) {",
                  "handle_error(result);",
                  "}"],
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace
                      [TextContent "config"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Configuration structure (see",
                      Identifier "Config_t",
                      TextContent ")"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "data"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Input data buffer"]]},
              DefinitionList {
                definitionListTerm = Bold
                  [
                    Monospace [TextContent "size"],
                    Emph [TextContent "(input)"]],
                definitionListContent = [
                  Paragraph
                    [
                      TextContent
                        "Size of input data"]]},
              Paragraph
                [
                  Bold [TextContent "returns:"],
                  TextContent
                    "Status code indicating success or failure"],
              Paragraph
                [
                  Bold
                    [TextContent "pre condition:"],
                  TextContent
                    "config must not be NULL"],
              Paragraph
                [
                  Bold
                    [TextContent "pre condition:"],
                  TextContent
                    "data must not be NULL if size > 0"],
              Paragraph
                [
                  Bold
                    [TextContent "post condition:"],
                  TextContent
                    "Output data is written to config->user_data"],
              Paragraph
                [
                  Bold
                    [Emph [TextContent "WARNING:"]],
                  TextContent
                    "May return NULL if memory allocation fails"],
              Paragraph
                [
                  Bold
                    [Emph [TextContent "WARNING:"]],
                  TextContent
                    "Sets errno to EINVAL if parameters are invalid"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hash",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "s"),
            functionParameterType = HsPtr
              (HsPrimType HsPrimCChar),
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "s",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_88887d4b5f42f079",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_88887d4b5f42f079 (char *arg1) { return hash(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "s",
                    nameHsIdent = Identifier "s"})
                (TypePointer
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit
                        (Just Signed)))))],
            functionAttrs =
            FunctionAttributes
              CPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "hash",
            commentLocation = Just
              "doxygen_docs.h:427:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent "Marked",
                  Monospace
                    [
                      Bold
                        [
                          TextContent
                            "attribute((pure))"]]]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsPrimType HsPrimCInt),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_cb3c687f16289bb3",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_doxygen_docs_cb3c687f16289bb3 (signed int arg1) { return square(arg1); }",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              HaskellPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "square",
            commentLocation = Just
              "doxygen_docs.h:429:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["doxygen_docs.h"],
                headerInclude =
                "doxygen_docs.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_d0e1f65bee5472f6",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPtr
                  (HsExtBinding
                    ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "Word8"}
                    CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "Word8"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}))
                (HsFun
                  (HsPtr
                    (HsExtBinding
                      ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "Word8"}
                      CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "Word8"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}))
                  (HsFun
                    (HsPtr
                      (HsExtBinding
                        ExtRef {
                          extRefModule = ModuleName
                            "HsBindgen.Runtime.Prelude",
                          extRefIdentifier = Identifier
                            "CSize"}
                        CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName
                              "HsBindgen.Runtime.Prelude"),
                          cTypeSpecIdentifier = Just
                            (Identifier "CSize"),
                          cTypeSpecInstances =
                          Map.fromList
                            [
                              _×_
                                Bits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Bounded
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Enum
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Eq
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                FiniteBits
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Integral
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ix
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Num
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Ord
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Read
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                ReadRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                StaticSize
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                WriteRaw
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}))
                    (HsIO
                      (HsPrimType HsPrimCInt))))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_d0e1f65bee5472f6",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_process_data_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_d0e1f65bee5472f6 (void)) (uint8_t const *arg1, uint8_t *arg2, size_t *arg3) { return &process_data; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypeExtBinding
                    ResolvedExtBinding {
                      extCName = QualName {
                        qualNameName = Name "uint8_t",
                        qualNameKind =
                        NameKindOrdinary},
                      extHsRef = ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "Word8"},
                      extHsSpec = CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "Word8"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}})),
              TypePointer
                (TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "uint8_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "Word8"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "Word8"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}}),
              TypePointer
                (TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "size_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}})]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_3621ac21e0f7a16b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPtr (HsPrimType HsPrimCChar))
                (HsIO
                  (HsPrimType HsPrimCBool))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_3621ac21e0f7a16b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_process_file_ptr */ __attribute__ ((const)) _Bool (*hs_bindgen_test_doxygen_docs_3621ac21e0f7a16b (void)) (char const *arg1) { return &process_file; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit Nothing))))]
            (TypePrim PrimBool)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_90c8694d918623e1",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsFun
                  (HsPrimType HsPrimCInt)
                  (HsIO
                    (HsPrimType HsPrimCInt)))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_90c8694d918623e1",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_calculate_value_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_90c8694d918623e1 (void)) (signed int arg1, signed int arg2) { return &calculate_value; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed),
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_e113abb2b0034e66",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCBool))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_e113abb2b0034e66",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_html_example_ptr */ __attribute__ ((const)) _Bool (*hs_bindgen_test_doxygen_docs_e113abb2b0034e66 (void)) (signed int arg1) { return &html_example; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim PrimBool)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_24b25f22222ce366",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPtr
                  (HsPtr
                    (HsPrimType HsPrimCChar)))
                (HsFun
                  (HsPrimType HsPrimCSize)
                  (HsIO
                    (HsPrimType HsPrimCBool)))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_24b25f22222ce366",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_list_example_ptr */ __attribute__ ((const)) _Bool (*hs_bindgen_test_doxygen_docs_24b25f22222ce366 (void)) (char const **arg1, size_t arg2) { return &list_example; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePointer
                (TypePointer
                  (TypeQualified
                    TypeQualifierConst
                    (TypePrim
                      (PrimChar
                        (PrimSignImplicit Nothing))))),
              TypePrim PrimSize]
            (TypePrim PrimBool)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_6017a8a05430a56b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPtr (HsPrimType HsPrimVoid))
                (HsIO
                  (HsPtr
                    (HsPrimType HsPrimVoid)))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_6017a8a05430a56b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_dangerous_function_ptr */ __attribute__ ((const)) void *(*hs_bindgen_test_doxygen_docs_6017a8a05430a56b (void)) (void *arg1) { return &dangerous_function; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [TypePointer TypeVoid]
            (TypePointer TypeVoid)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_78d3a59b40cdc8e7",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPtr (HsPrimType HsPrimCChar))
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_78d3a59b40cdc8e7",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_detailed_return_codes_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_78d3a59b40cdc8e7 (void)) (char const *arg1) { return &detailed_return_codes; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypePrim
                    (PrimChar
                      (PrimSignImplicit
                        (Just Signed)))))]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_885c5a5805adf39b",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_885c5a5805adf39b",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_old_function_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_885c5a5805adf39b (void)) (signed int arg1) { return &old_function; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_247ac59146595fd0",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_247ac59146595fd0",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_versioned_function_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_247ac59146595fd0 (void)) (signed int arg1) { return &versioned_function; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_7c3d7625a05c8175",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsConstArray
                  64
                  (HsPrimType HsPrimCChar))
                (HsFun
                  (HsExtBinding
                    ExtRef {
                      extRefModule = ModuleName
                        "HsBindgen.Runtime.Prelude",
                      extRefIdentifier = Identifier
                        "CSize"}
                    CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName
                          "HsBindgen.Runtime.Prelude"),
                      cTypeSpecIdentifier = Just
                        (Identifier "CSize"),
                      cTypeSpecInstances =
                      Map.fromList
                        [
                          _×_
                            Bits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Bounded
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Enum
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Eq
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            FiniteBits
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Integral
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ix
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Num
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Ord
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Read
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            ReadRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            StaticSize
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            WriteRaw
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]})
                  (HsIO
                    (HsPrimType HsPrimCInt)))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_7c3d7625a05c8175",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_process_buffer_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_7c3d7625a05c8175 (void)) (char arg1[64], size_t arg2) { return &process_buffer; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypeConstArray
                64
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit
                      (Just Signed)))),
              TypeExtBinding
                ResolvedExtBinding {
                  extCName = QualName {
                    qualNameName = Name "size_t",
                    qualNameKind =
                    NameKindOrdinary},
                  extHsRef = ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "CSize"},
                  extHsSpec = CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "CSize"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]}}]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_e2e8b5d5ac435de8",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPtr (HsPrimType HsPrimVoid))
                (HsFun
                  (HsPtr (HsPrimType HsPrimVoid))
                  (HsFun
                    (HsExtBinding
                      ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "CSize"}
                      CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "CSize"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]})
                    (HsIO
                      (HsPtr
                        (HsPrimType HsPrimVoid)))))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_e2e8b5d5ac435de8",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_my_memcpy_ptr */ __attribute__ ((const)) void *(*hs_bindgen_test_doxygen_docs_e2e8b5d5ac435de8 (void)) (void *arg1, void const *arg2, size_t arg3) { return &my_memcpy; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePointer TypeVoid,
              TypePointer
                (TypeQualified
                  TypeQualifierConst
                  TypeVoid),
              TypeExtBinding
                ResolvedExtBinding {
                  extCName = QualName {
                    qualNameName = Name "size_t",
                    qualNameKind =
                    NameKindOrdinary},
                  extHsRef = ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "CSize"},
                  extHsSpec = CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "CSize"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]}}]
            (TypePointer TypeVoid)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_c819fda6b145aafa",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_c819fda6b145aafa",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_double_value_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_c819fda6b145aafa (void)) (signed int arg1) { return &double_value; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_76146a96271b3f75",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPtr
                  (HsTypRef
                    (Name
                      "@NsTypeConstr"
                      "Config_t")))
                (HsFun
                  (HsPtr
                    (HsExtBinding
                      ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "Word8"}
                      CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "Word8"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}))
                  (HsFun
                    (HsExtBinding
                      ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "CSize"}
                      CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "CSize"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]})
                    (HsIO
                      (HsTypRef
                        (Name
                          "@NsTypeConstr"
                          "Status_code_t")))))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_76146a96271b3f75",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_complex_function_ptr */ __attribute__ ((const)) status_code_t (*hs_bindgen_test_doxygen_docs_76146a96271b3f75 (void)) (config_t *arg1, uint8_t const *arg2, size_t arg3) { return &complex_function; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePointer
                (TypeTypedef
                  (TypedefSquashed
                    (Name "config_t")
                    (TypeStruct
                      NamePair {
                        nameC = Name "config_t",
                        nameHsIdent = Identifier
                          "Config_t"}
                      (NameOriginGenerated
                        (AnonId
                          "doxygen_docs.h:232:9"))))),
              TypePointer
                (TypeQualified
                  TypeQualifierConst
                  (TypeExtBinding
                    ResolvedExtBinding {
                      extCName = QualName {
                        qualNameName = Name "uint8_t",
                        qualNameKind =
                        NameKindOrdinary},
                      extHsRef = ExtRef {
                        extRefModule = ModuleName
                          "HsBindgen.Runtime.Prelude",
                        extRefIdentifier = Identifier
                          "Word8"},
                      extHsSpec = CTypeSpec {
                        cTypeSpecModule = Just
                          (ModuleName
                            "HsBindgen.Runtime.Prelude"),
                        cTypeSpecIdentifier = Just
                          (Identifier "Word8"),
                        cTypeSpecInstances =
                        Map.fromList
                          [
                            _×_
                              Bits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Bounded
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Enum
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Eq
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              FiniteBits
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Integral
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ix
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Num
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Ord
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Read
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              ReadRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Real
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Show
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              StaticSize
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              Storable
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = []}),
                            _×_
                              WriteRaw
                              (Require
                                InstanceSpec {
                                  instanceSpecStrategy = Nothing,
                                  instanceSpecConstraints = [
                                    ]})]}})),
              TypeExtBinding
                ResolvedExtBinding {
                  extCName = QualName {
                    qualNameName = Name "size_t",
                    qualNameKind =
                    NameKindOrdinary},
                  extHsRef = ExtRef {
                    extRefModule = ModuleName
                      "HsBindgen.Runtime.Prelude",
                    extRefIdentifier = Identifier
                      "CSize"},
                  extHsSpec = CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName
                        "HsBindgen.Runtime.Prelude"),
                    cTypeSpecIdentifier = Just
                      (Identifier "CSize"),
                    cTypeSpecInstances =
                    Map.fromList
                      [
                        _×_
                          Bits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Bounded
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Enum
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Eq
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          FiniteBits
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Integral
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ix
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Num
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Ord
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Read
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          ReadRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          StaticSize
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          WriteRaw
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]}}]
            (TypeTypedef
              (TypedefSquashed
                (Name "status_code_t")
                (TypeEnum
                  NamePair {
                    nameC = Name "status_code_t",
                    nameHsIdent = Identifier
                      "Status_code_t"}
                  (NameOriginGenerated
                    (AnonId
                      "doxygen_docs.h:258:9")))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_4de9606eb9c5dd01",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPtr (HsPrimType HsPrimCChar))
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_4de9606eb9c5dd01",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_hash_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_4de9606eb9c5dd01 (void)) (char *arg1) { return &hash; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePointer
                (TypePrim
                  (PrimChar
                    (PrimSignImplicit
                      (Just Signed))))]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_c41111f40a04cdc9",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_c41111f40a04cdc9",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_square_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_doxygen_docs_c41111f40a04cdc9 (void)) (signed int arg1) { return &square; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_1a40d1e5fbd04660",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPrimType HsPrimCInt))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_1a40d1e5fbd04660",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_global_counter_ptr */ __attribute__ ((const)) signed int *hs_bindgen_test_doxygen_docs_1a40d1e5fbd04660 (void) { return &global_counter; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypePrim
            (PrimIntegral PrimInt Signed)),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_doxygen_docs_0f1cef8c70bbdf2c",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsPtr
              (HsPtr
                (HsPrimType HsPrimCChar)))),
        foreignImportOrigName =
        "hs_bindgen_test_doxygen_docs_0f1cef8c70bbdf2c",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_version_string_ptr */ __attribute__ ((const)) char const **hs_bindgen_test_doxygen_docs_0f1cef8c70bbdf2c (void) { return &version_string; } ",
            capiWrapperImport =
            "doxygen_docs.h"},
        foreignImportOrigin = Global
          (TypePointer
            (TypeQualified
              TypeQualifierConst
              (TypePrim
                (PrimChar
                  (PrimSignImplicit
                    (Just Signed)))))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple]
  