content: [
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Uint32_t",
        newtypeConstr = Name
          "@NsConstr"
          "Uint32_t",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Uint32_t",
          fieldType = HsPrimType
            HsPrimCUInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc = "alltypes.h:131:25",
            declId = NamePair {
              nameC = Name "uint32_t",
              nameHsIdent = Identifier
                "Uint32_t"},
            declOrigin = NameOriginInSource,
            declAliases = [
              Name "uint_fast16_t",
              Name "uint_fast32_t",
              Name "uint_least32_t"],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["program_slicing_simple.h"],
                headerInclude =
                "bits/alltypes.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Uint32_t",
                newtypeField = Name
                  "@NsVar"
                  "un_Uint32_t"},
              typedefType = TypePrim
                (PrimIntegral
                  PrimInt
                  Unsigned)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "uint32_t",
            commentLocation = Just
              "alltypes.h:131:25",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["program_slicing_simple.h"],
                headerInclude =
                "bits/alltypes.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Uint32_t",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "Foo",
        structConstr = Name
          "@NsConstr"
          "Foo",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "foo_sixty_four",
            fieldType = HsExtBinding
              ExtRef {
                extRefModule = ModuleName
                  "Example",
                extRefIdentifier = Identifier
                  "Uint64_t"}
              CTypeSpec {
                cTypeSpecModule = Just
                  (ModuleName "Example"),
                cTypeSpecIdentifier = Just
                  (Identifier "Uint64_t"),
                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 = []}),
                    _×_
                      Real
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Show
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = []}),
                    _×_
                      Storable
                      (Require
                        InstanceSpec {
                          instanceSpecStrategy = Nothing,
                          instanceSpecConstraints = [
                            ]})]},
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "program_slicing_simple.h:4:12",
                  fieldName = NamePair {
                    nameC = Name "sixty_four",
                    nameHsIdent = Identifier
                      "foo_sixty_four"},
                  fieldComment = Nothing},
                structFieldType = TypeExtBinding
                  ResolvedExtBinding {
                    extCName = QualName {
                      qualNameName = Name "uint64_t",
                      qualNameKind =
                      NameKindOrdinary},
                    extHsRef = ExtRef {
                      extRefModule = ModuleName
                        "Example",
                      extRefIdentifier = Identifier
                        "Uint64_t"},
                    extHsSpec = CTypeSpec {
                      cTypeSpecModule = Just
                        (ModuleName "Example"),
                      cTypeSpecIdentifier = Just
                        (Identifier "Uint64_t"),
                      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 = []}),
                          _×_
                            Real
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Show
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = []}),
                          _×_
                            Storable
                            (Require
                              InstanceSpec {
                                instanceSpecStrategy = Nothing,
                                instanceSpecConstraints = [
                                  ]})]}},
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "sixty_four",
                commentLocation = Just
                  "program_slicing_simple.h:4:12",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["program_slicing_simple.h"],
                    headerInclude =
                    "program_slicing_simple.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "foo_thirty_two",
            fieldType = HsTypRef
              (Name
                "@NsTypeConstr"
                "Uint32_t"),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "program_slicing_simple.h:5:12",
                  fieldName = NamePair {
                    nameC = Name "thirty_two",
                    nameHsIdent = Identifier
                      "foo_thirty_two"},
                  fieldComment = Nothing},
                structFieldType = TypeTypedef
                  (TypedefRegular
                    NamePair {
                      nameC = Name "uint32_t",
                      nameHsIdent = Identifier
                        "Uint32_t"}
                    (TypePrim
                      (PrimIntegral
                        PrimInt
                        Unsigned))),
                structFieldOffset = 64,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just
                  "thirty_two",
                commentLocation = Just
                  "program_slicing_simple.h:5:12",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["program_slicing_simple.h"],
                    headerInclude =
                    "program_slicing_simple.h"},
                commentChildren = []}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "program_slicing_simple.h:3:8",
              declId = NamePair {
                nameC = Name "foo",
                nameHsIdent = Identifier "Foo"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["program_slicing_simple.h"],
                  headerInclude =
                  "program_slicing_simple.h"},
              declComment = Nothing},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name "@NsConstr" "Foo"),
                structSizeof = 16,
                structAlignment = 8,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "program_slicing_simple.h:4:12",
                      fieldName = NamePair {
                        nameC = Name "sixty_four",
                        nameHsIdent = Identifier
                          "foo_sixty_four"},
                      fieldComment = Nothing},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint64_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "Example",
                          extRefIdentifier = Identifier
                            "Uint64_t"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName "Example"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Uint64_t"),
                          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 = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "program_slicing_simple.h:5:12",
                      fieldName = NamePair {
                        nameC = Name "thirty_two",
                        nameHsIdent = Identifier
                          "foo_thirty_two"},
                      fieldComment = Nothing},
                    structFieldType = TypeTypedef
                      (TypedefRegular
                        NamePair {
                          nameC = Name "uint32_t",
                          nameHsIdent = Identifier
                            "Uint32_t"}
                        (TypePrim
                          (PrimIntegral
                            PrimInt
                            Unsigned))),
                    structFieldOffset = 64,
                    structFieldWidth = Nothing}],
                structFlam = Nothing},
            declSpec = DeclSpec
              CTypeSpec {
                cTypeSpecModule = Nothing,
                cTypeSpecIdentifier = Nothing,
                cTypeSpecInstances =
                Map.fromList []}},
        structInstances = Set.fromList
          [Eq, Show, Storable],
        structComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "foo",
            commentLocation = Just
              "program_slicing_simple.h:3:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["program_slicing_simple.h"],
                headerInclude =
                "program_slicing_simple.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "Foo",
            structConstr = Name
              "@NsConstr"
              "Foo",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "foo_sixty_four",
                fieldType = HsExtBinding
                  ExtRef {
                    extRefModule = ModuleName
                      "Example",
                    extRefIdentifier = Identifier
                      "Uint64_t"}
                  CTypeSpec {
                    cTypeSpecModule = Just
                      (ModuleName "Example"),
                    cTypeSpecIdentifier = Just
                      (Identifier "Uint64_t"),
                    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 = []}),
                        _×_
                          Real
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Show
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = []}),
                        _×_
                          Storable
                          (Require
                            InstanceSpec {
                              instanceSpecStrategy = Nothing,
                              instanceSpecConstraints = [
                                ]})]},
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "program_slicing_simple.h:4:12",
                      fieldName = NamePair {
                        nameC = Name "sixty_four",
                        nameHsIdent = Identifier
                          "foo_sixty_four"},
                      fieldComment = Nothing},
                    structFieldType = TypeExtBinding
                      ResolvedExtBinding {
                        extCName = QualName {
                          qualNameName = Name "uint64_t",
                          qualNameKind =
                          NameKindOrdinary},
                        extHsRef = ExtRef {
                          extRefModule = ModuleName
                            "Example",
                          extRefIdentifier = Identifier
                            "Uint64_t"},
                        extHsSpec = CTypeSpec {
                          cTypeSpecModule = Just
                            (ModuleName "Example"),
                          cTypeSpecIdentifier = Just
                            (Identifier "Uint64_t"),
                          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 = []}),
                              _×_
                                Real
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Show
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = []}),
                              _×_
                                Storable
                                (Require
                                  InstanceSpec {
                                    instanceSpecStrategy = Nothing,
                                    instanceSpecConstraints = [
                                      ]})]}},
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "sixty_four",
                    commentLocation = Just
                      "program_slicing_simple.h:4:12",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["program_slicing_simple.h"],
                        headerInclude =
                        "program_slicing_simple.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "foo_thirty_two",
                fieldType = HsTypRef
                  (Name
                    "@NsTypeConstr"
                    "Uint32_t"),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "program_slicing_simple.h:5:12",
                      fieldName = NamePair {
                        nameC = Name "thirty_two",
                        nameHsIdent = Identifier
                          "foo_thirty_two"},
                      fieldComment = Nothing},
                    structFieldType = TypeTypedef
                      (TypedefRegular
                        NamePair {
                          nameC = Name "uint32_t",
                          nameHsIdent = Identifier
                            "Uint32_t"}
                        (TypePrim
                          (PrimIntegral
                            PrimInt
                            Unsigned))),
                    structFieldOffset = 64,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just
                      "thirty_two",
                    commentLocation = Just
                      "program_slicing_simple.h:5:12",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["program_slicing_simple.h"],
                        headerInclude =
                        "program_slicing_simple.h"},
                    commentChildren = []}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc =
                  "program_slicing_simple.h:3:8",
                  declId = NamePair {
                    nameC = Name "foo",
                    nameHsIdent = Identifier "Foo"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["program_slicing_simple.h"],
                      headerInclude =
                      "program_slicing_simple.h"},
                  declComment = Nothing},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name "@NsConstr" "Foo"),
                    structSizeof = 16,
                    structAlignment = 8,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "program_slicing_simple.h:4:12",
                          fieldName = NamePair {
                            nameC = Name "sixty_four",
                            nameHsIdent = Identifier
                              "foo_sixty_four"},
                          fieldComment = Nothing},
                        structFieldType = TypeExtBinding
                          ResolvedExtBinding {
                            extCName = QualName {
                              qualNameName = Name "uint64_t",
                              qualNameKind =
                              NameKindOrdinary},
                            extHsRef = ExtRef {
                              extRefModule = ModuleName
                                "Example",
                              extRefIdentifier = Identifier
                                "Uint64_t"},
                            extHsSpec = CTypeSpec {
                              cTypeSpecModule = Just
                                (ModuleName "Example"),
                              cTypeSpecIdentifier = Just
                                (Identifier "Uint64_t"),
                              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 = []}),
                                  _×_
                                    Real
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Show
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = []}),
                                  _×_
                                    Storable
                                    (Require
                                      InstanceSpec {
                                        instanceSpecStrategy = Nothing,
                                        instanceSpecConstraints = [
                                          ]})]}},
                        structFieldOffset = 0,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "program_slicing_simple.h:5:12",
                          fieldName = NamePair {
                            nameC = Name "thirty_two",
                            nameHsIdent = Identifier
                              "foo_thirty_two"},
                          fieldComment = Nothing},
                        structFieldType = TypeTypedef
                          (TypedefRegular
                            NamePair {
                              nameC = Name "uint32_t",
                              nameHsIdent = Identifier
                                "Uint32_t"}
                            (TypePrim
                              (PrimIntegral
                                PrimInt
                                Unsigned))),
                        structFieldOffset = 64,
                        structFieldWidth = Nothing}],
                    structFlam = Nothing},
                declSpec = DeclSpec
                  CTypeSpec {
                    cTypeSpecModule = Nothing,
                    cTypeSpecIdentifier = Nothing,
                    cTypeSpecInstances =
                    Map.fromList []}},
            structInstances = Set.fromList
              [Eq, Show, Storable],
            structComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "foo",
                commentLocation = Just
                  "program_slicing_simple.h:3:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["program_slicing_simple.h"],
                    headerInclude =
                    "program_slicing_simple.h"},
                commentChildren = []}}
          StorableInstance {
            storableSizeOf = 16,
            storableAlignment = 8,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Foo",
                    structConstr = Name
                      "@NsConstr"
                      "Foo",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "foo_sixty_four",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "Example",
                            extRefIdentifier = Identifier
                              "Uint64_t"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName "Example"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Uint64_t"),
                            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 = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "program_slicing_simple.h:4:12",
                              fieldName = NamePair {
                                nameC = Name "sixty_four",
                                nameHsIdent = Identifier
                                  "foo_sixty_four"},
                              fieldComment = Nothing},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint64_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "Example",
                                  extRefIdentifier = Identifier
                                    "Uint64_t"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName "Example"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Uint64_t"),
                                  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 = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "sixty_four",
                            commentLocation = Just
                              "program_slicing_simple.h:4:12",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["program_slicing_simple.h"],
                                headerInclude =
                                "program_slicing_simple.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "foo_thirty_two",
                        fieldType = HsTypRef
                          (Name
                            "@NsTypeConstr"
                            "Uint32_t"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "program_slicing_simple.h:5:12",
                              fieldName = NamePair {
                                nameC = Name "thirty_two",
                                nameHsIdent = Identifier
                                  "foo_thirty_two"},
                              fieldComment = Nothing},
                            structFieldType = TypeTypedef
                              (TypedefRegular
                                NamePair {
                                  nameC = Name "uint32_t",
                                  nameHsIdent = Identifier
                                    "Uint32_t"}
                                (TypePrim
                                  (PrimIntegral
                                    PrimInt
                                    Unsigned))),
                            structFieldOffset = 64,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "thirty_two",
                            commentLocation = Just
                              "program_slicing_simple.h:5:12",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["program_slicing_simple.h"],
                                headerInclude =
                                "program_slicing_simple.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "program_slicing_simple.h:3:8",
                          declId = NamePair {
                            nameC = Name "foo",
                            nameHsIdent = Identifier "Foo"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["program_slicing_simple.h"],
                              headerInclude =
                              "program_slicing_simple.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "Foo"),
                            structSizeof = 16,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "program_slicing_simple.h:4:12",
                                  fieldName = NamePair {
                                    nameC = Name "sixty_four",
                                    nameHsIdent = Identifier
                                      "foo_sixty_four"},
                                  fieldComment = Nothing},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint64_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "Example",
                                      extRefIdentifier = Identifier
                                        "Uint64_t"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName "Example"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Uint64_t"),
                                      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 = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "program_slicing_simple.h:5:12",
                                  fieldName = NamePair {
                                    nameC = Name "thirty_two",
                                    nameHsIdent = Identifier
                                      "foo_thirty_two"},
                                  fieldComment = Nothing},
                                structFieldType = TypeTypedef
                                  (TypedefRegular
                                    NamePair {
                                      nameC = Name "uint32_t",
                                      nameHsIdent = Identifier
                                        "Uint32_t"}
                                    (TypePrim
                                      (PrimIntegral
                                        PrimInt
                                        Unsigned))),
                                structFieldOffset = 64,
                                structFieldWidth = Nothing}],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Just "foo",
                        commentLocation = Just
                          "program_slicing_simple.h:3:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["program_slicing_simple.h"],
                            headerInclude =
                            "program_slicing_simple.h"},
                        commentChildren = []}})
                [
                  PeekByteOff (Idx 0) 0,
                  PeekByteOff (Idx 0) 8]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "Foo",
                    structConstr = Name
                      "@NsConstr"
                      "Foo",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "foo_sixty_four",
                        fieldType = HsExtBinding
                          ExtRef {
                            extRefModule = ModuleName
                              "Example",
                            extRefIdentifier = Identifier
                              "Uint64_t"}
                          CTypeSpec {
                            cTypeSpecModule = Just
                              (ModuleName "Example"),
                            cTypeSpecIdentifier = Just
                              (Identifier "Uint64_t"),
                            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 = []}),
                                _×_
                                  Real
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Show
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = []}),
                                _×_
                                  Storable
                                  (Require
                                    InstanceSpec {
                                      instanceSpecStrategy = Nothing,
                                      instanceSpecConstraints = [
                                        ]})]},
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "program_slicing_simple.h:4:12",
                              fieldName = NamePair {
                                nameC = Name "sixty_four",
                                nameHsIdent = Identifier
                                  "foo_sixty_four"},
                              fieldComment = Nothing},
                            structFieldType = TypeExtBinding
                              ResolvedExtBinding {
                                extCName = QualName {
                                  qualNameName = Name "uint64_t",
                                  qualNameKind =
                                  NameKindOrdinary},
                                extHsRef = ExtRef {
                                  extRefModule = ModuleName
                                    "Example",
                                  extRefIdentifier = Identifier
                                    "Uint64_t"},
                                extHsSpec = CTypeSpec {
                                  cTypeSpecModule = Just
                                    (ModuleName "Example"),
                                  cTypeSpecIdentifier = Just
                                    (Identifier "Uint64_t"),
                                  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 = []}),
                                      _×_
                                        Real
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Show
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = []}),
                                      _×_
                                        Storable
                                        (Require
                                          InstanceSpec {
                                            instanceSpecStrategy = Nothing,
                                            instanceSpecConstraints = [
                                              ]})]}},
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "sixty_four",
                            commentLocation = Just
                              "program_slicing_simple.h:4:12",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["program_slicing_simple.h"],
                                headerInclude =
                                "program_slicing_simple.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "foo_thirty_two",
                        fieldType = HsTypRef
                          (Name
                            "@NsTypeConstr"
                            "Uint32_t"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "program_slicing_simple.h:5:12",
                              fieldName = NamePair {
                                nameC = Name "thirty_two",
                                nameHsIdent = Identifier
                                  "foo_thirty_two"},
                              fieldComment = Nothing},
                            structFieldType = TypeTypedef
                              (TypedefRegular
                                NamePair {
                                  nameC = Name "uint32_t",
                                  nameHsIdent = Identifier
                                    "Uint32_t"}
                                (TypePrim
                                  (PrimIntegral
                                    PrimInt
                                    Unsigned))),
                            structFieldOffset = 64,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just
                              "thirty_two",
                            commentLocation = Just
                              "program_slicing_simple.h:5:12",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["program_slicing_simple.h"],
                                headerInclude =
                                "program_slicing_simple.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "program_slicing_simple.h:3:8",
                          declId = NamePair {
                            nameC = Name "foo",
                            nameHsIdent = Identifier "Foo"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["program_slicing_simple.h"],
                              headerInclude =
                              "program_slicing_simple.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "Foo"),
                            structSizeof = 16,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "program_slicing_simple.h:4:12",
                                  fieldName = NamePair {
                                    nameC = Name "sixty_four",
                                    nameHsIdent = Identifier
                                      "foo_sixty_four"},
                                  fieldComment = Nothing},
                                structFieldType = TypeExtBinding
                                  ResolvedExtBinding {
                                    extCName = QualName {
                                      qualNameName = Name "uint64_t",
                                      qualNameKind =
                                      NameKindOrdinary},
                                    extHsRef = ExtRef {
                                      extRefModule = ModuleName
                                        "Example",
                                      extRefIdentifier = Identifier
                                        "Uint64_t"},
                                    extHsSpec = CTypeSpec {
                                      cTypeSpecModule = Just
                                        (ModuleName "Example"),
                                      cTypeSpecIdentifier = Just
                                        (Identifier "Uint64_t"),
                                      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 = []}),
                                          _×_
                                            Real
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Show
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = []}),
                                          _×_
                                            Storable
                                            (Require
                                              InstanceSpec {
                                                instanceSpecStrategy = Nothing,
                                                instanceSpecConstraints = [
                                                  ]})]}},
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "program_slicing_simple.h:5:12",
                                  fieldName = NamePair {
                                    nameC = Name "thirty_two",
                                    nameHsIdent = Identifier
                                      "foo_thirty_two"},
                                  fieldComment = Nothing},
                                structFieldType = TypeTypedef
                                  (TypedefRegular
                                    NamePair {
                                      nameC = Name "uint32_t",
                                      nameHsIdent = Identifier
                                        "Uint32_t"}
                                    (TypePrim
                                      (PrimIntegral
                                        PrimInt
                                        Unsigned))),
                                structFieldOffset = 64,
                                structFieldWidth = Nothing}],
                            structFlam = Nothing},
                        declSpec = DeclSpec
                          CTypeSpec {
                            cTypeSpecModule = Nothing,
                            cTypeSpecIdentifier = Nothing,
                            cTypeSpecInstances =
                            Map.fromList []}},
                    structInstances = Set.fromList
                      [Eq, Show, Storable],
                    structComment = Just
                      Comment {
                        commentTitle = Nothing,
                        commentOrigin = Just "foo",
                        commentLocation = Just
                          "program_slicing_simple.h:3:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["program_slicing_simple.h"],
                            headerInclude =
                            "program_slicing_simple.h"},
                        commentChildren = []}}
                  (Add 2)
                  (Seq
                    [
                      PokeByteOff (Idx 3) 0 (Idx 0),
                      PokeByteOff
                        (Idx 3)
                        8
                        (Idx 1)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Foo",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Foo",
        deriveInstanceComment =
        Nothing}]
  