content: [
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "S",
        structConstr = Name
          "@NsConstr"
          "S",
        structFields = [
          Field {
            fieldName = Name "@NsVar" "s_f",
            fieldType = HsConstArray
              3
              (HsPrimType HsPrimCShort),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "type_attributes.h:8:18",
                  fieldName = NamePair {
                    nameC = Name "f",
                    nameHsIdent = Identifier "s_f"},
                  fieldComment = Nothing},
                structFieldType = TypeConstArray
                  3
                  (TypePrim
                    (PrimIntegral
                      PrimShort
                      Signed)),
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "f",
                commentLocation = Just
                  "type_attributes.h:8:18",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "type_attributes.h:8:8",
              declId = NamePair {
                nameC = Name "S",
                nameHsIdent = Identifier "S"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["type_attributes.h"],
                  headerInclude =
                  "type_attributes.h"},
              declComment = Nothing},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name "@NsConstr" "S"),
                structSizeof = 8,
                structAlignment = 8,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:8:18",
                      fieldName = NamePair {
                        nameC = Name "f",
                        nameHsIdent = Identifier "s_f"},
                      fieldComment = Nothing},
                    structFieldType = TypeConstArray
                      3
                      (TypePrim
                        (PrimIntegral
                          PrimShort
                          Signed)),
                    structFieldOffset = 0,
                    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 "S",
            commentLocation = Just
              "type_attributes.h:8:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "S",
            structConstr = Name
              "@NsConstr"
              "S",
            structFields = [
              Field {
                fieldName = Name "@NsVar" "s_f",
                fieldType = HsConstArray
                  3
                  (HsPrimType HsPrimCShort),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:8:18",
                      fieldName = NamePair {
                        nameC = Name "f",
                        nameHsIdent = Identifier "s_f"},
                      fieldComment = Nothing},
                    structFieldType = TypeConstArray
                      3
                      (TypePrim
                        (PrimIntegral
                          PrimShort
                          Signed)),
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "f",
                    commentLocation = Just
                      "type_attributes.h:8:18",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["type_attributes.h"],
                        headerInclude =
                        "type_attributes.h"},
                    commentChildren = []}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc =
                  "type_attributes.h:8:8",
                  declId = NamePair {
                    nameC = Name "S",
                    nameHsIdent = Identifier "S"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["type_attributes.h"],
                      headerInclude =
                      "type_attributes.h"},
                  declComment = Nothing},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name "@NsConstr" "S"),
                    structSizeof = 8,
                    structAlignment = 8,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "type_attributes.h:8:18",
                          fieldName = NamePair {
                            nameC = Name "f",
                            nameHsIdent = Identifier "s_f"},
                          fieldComment = Nothing},
                        structFieldType = TypeConstArray
                          3
                          (TypePrim
                            (PrimIntegral
                              PrimShort
                              Signed)),
                        structFieldOffset = 0,
                        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 "S",
                commentLocation = Just
                  "type_attributes.h:8:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}}
          StorableInstance {
            storableSizeOf = 8,
            storableAlignment = 8,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "S",
                    structConstr = Name
                      "@NsConstr"
                      "S",
                    structFields = [
                      Field {
                        fieldName = Name "@NsVar" "s_f",
                        fieldType = HsConstArray
                          3
                          (HsPrimType HsPrimCShort),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:8:18",
                              fieldName = NamePair {
                                nameC = Name "f",
                                nameHsIdent = Identifier "s_f"},
                              fieldComment = Nothing},
                            structFieldType = TypeConstArray
                              3
                              (TypePrim
                                (PrimIntegral
                                  PrimShort
                                  Signed)),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "f",
                            commentLocation = Just
                              "type_attributes.h:8:18",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "type_attributes.h:8:8",
                          declId = NamePair {
                            nameC = Name "S",
                            nameHsIdent = Identifier "S"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["type_attributes.h"],
                              headerInclude =
                              "type_attributes.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "S"),
                            structSizeof = 8,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:8:18",
                                  fieldName = NamePair {
                                    nameC = Name "f",
                                    nameHsIdent = Identifier "s_f"},
                                  fieldComment = Nothing},
                                structFieldType = TypeConstArray
                                  3
                                  (TypePrim
                                    (PrimIntegral
                                      PrimShort
                                      Signed)),
                                structFieldOffset = 0,
                                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 "S",
                        commentLocation = Just
                          "type_attributes.h:8:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["type_attributes.h"],
                            headerInclude =
                            "type_attributes.h"},
                        commentChildren = []}})
                [PeekByteOff (Idx 0) 0]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "S",
                    structConstr = Name
                      "@NsConstr"
                      "S",
                    structFields = [
                      Field {
                        fieldName = Name "@NsVar" "s_f",
                        fieldType = HsConstArray
                          3
                          (HsPrimType HsPrimCShort),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:8:18",
                              fieldName = NamePair {
                                nameC = Name "f",
                                nameHsIdent = Identifier "s_f"},
                              fieldComment = Nothing},
                            structFieldType = TypeConstArray
                              3
                              (TypePrim
                                (PrimIntegral
                                  PrimShort
                                  Signed)),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "f",
                            commentLocation = Just
                              "type_attributes.h:8:18",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "type_attributes.h:8:8",
                          declId = NamePair {
                            nameC = Name "S",
                            nameHsIdent = Identifier "S"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["type_attributes.h"],
                              headerInclude =
                              "type_attributes.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "S"),
                            structSizeof = 8,
                            structAlignment = 8,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:8:18",
                                  fieldName = NamePair {
                                    nameC = Name "f",
                                    nameHsIdent = Identifier "s_f"},
                                  fieldComment = Nothing},
                                structFieldType = TypeConstArray
                                  3
                                  (TypePrim
                                    (PrimIntegral
                                      PrimShort
                                      Signed)),
                                structFieldOffset = 0,
                                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 "S",
                        commentLocation = Just
                          "type_attributes.h:8:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["type_attributes.h"],
                            headerInclude =
                            "type_attributes.h"},
                        commentChildren = []}}
                  (Add 1)
                  (Seq
                    [
                      PokeByteOff
                        (Idx 2)
                        0
                        (Idx 0)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "S",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "S",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        newtypeConstr = Name
          "@NsConstr"
          "More_aligned_int",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_More_aligned_int",
          fieldType = HsPrimType
            HsPrimCInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "type_attributes.h:9:13",
            declId = NamePair {
              nameC = Name "more_aligned_int",
              nameHsIdent = Identifier
                "More_aligned_int"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "More_aligned_int",
                newtypeField = Name
                  "@NsVar"
                  "un_More_aligned_int"},
              typedefType = TypePrim
                (PrimIntegral PrimInt Signed)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "more_aligned_int",
            commentLocation = Just
              "type_attributes.h:9:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "More_aligned_int",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "S2",
        structConstr = Name
          "@NsConstr"
          "S2",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "s2_f",
            fieldType = HsConstArray
              3
              (HsPrimType HsPrimCShort),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "type_attributes.h:11:19",
                  fieldName = NamePair {
                    nameC = Name "f",
                    nameHsIdent = Identifier
                      "s2_f"},
                  fieldComment = Nothing},
                structFieldType = TypeConstArray
                  3
                  (TypePrim
                    (PrimIntegral
                      PrimShort
                      Signed)),
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "f",
                commentLocation = Just
                  "type_attributes.h:11:19",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "type_attributes.h:11:8",
              declId = NamePair {
                nameC = Name "S2",
                nameHsIdent = Identifier "S2"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["type_attributes.h"],
                  headerInclude =
                  "type_attributes.h"},
              declComment = Nothing},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name "@NsConstr" "S2"),
                structSizeof = 16,
                structAlignment = 16,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:11:19",
                      fieldName = NamePair {
                        nameC = Name "f",
                        nameHsIdent = Identifier
                          "s2_f"},
                      fieldComment = Nothing},
                    structFieldType = TypeConstArray
                      3
                      (TypePrim
                        (PrimIntegral
                          PrimShort
                          Signed)),
                    structFieldOffset = 0,
                    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 "S2",
            commentLocation = Just
              "type_attributes.h:11:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "S2",
            structConstr = Name
              "@NsConstr"
              "S2",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "s2_f",
                fieldType = HsConstArray
                  3
                  (HsPrimType HsPrimCShort),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:11:19",
                      fieldName = NamePair {
                        nameC = Name "f",
                        nameHsIdent = Identifier
                          "s2_f"},
                      fieldComment = Nothing},
                    structFieldType = TypeConstArray
                      3
                      (TypePrim
                        (PrimIntegral
                          PrimShort
                          Signed)),
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "f",
                    commentLocation = Just
                      "type_attributes.h:11:19",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["type_attributes.h"],
                        headerInclude =
                        "type_attributes.h"},
                    commentChildren = []}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc =
                  "type_attributes.h:11:8",
                  declId = NamePair {
                    nameC = Name "S2",
                    nameHsIdent = Identifier "S2"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["type_attributes.h"],
                      headerInclude =
                      "type_attributes.h"},
                  declComment = Nothing},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name "@NsConstr" "S2"),
                    structSizeof = 16,
                    structAlignment = 16,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "type_attributes.h:11:19",
                          fieldName = NamePair {
                            nameC = Name "f",
                            nameHsIdent = Identifier
                              "s2_f"},
                          fieldComment = Nothing},
                        structFieldType = TypeConstArray
                          3
                          (TypePrim
                            (PrimIntegral
                              PrimShort
                              Signed)),
                        structFieldOffset = 0,
                        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 "S2",
                commentLocation = Just
                  "type_attributes.h:11:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}}
          StorableInstance {
            storableSizeOf = 16,
            storableAlignment = 16,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "S2",
                    structConstr = Name
                      "@NsConstr"
                      "S2",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "s2_f",
                        fieldType = HsConstArray
                          3
                          (HsPrimType HsPrimCShort),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:11:19",
                              fieldName = NamePair {
                                nameC = Name "f",
                                nameHsIdent = Identifier
                                  "s2_f"},
                              fieldComment = Nothing},
                            structFieldType = TypeConstArray
                              3
                              (TypePrim
                                (PrimIntegral
                                  PrimShort
                                  Signed)),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "f",
                            commentLocation = Just
                              "type_attributes.h:11:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "type_attributes.h:11:8",
                          declId = NamePair {
                            nameC = Name "S2",
                            nameHsIdent = Identifier "S2"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["type_attributes.h"],
                              headerInclude =
                              "type_attributes.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "S2"),
                            structSizeof = 16,
                            structAlignment = 16,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:11:19",
                                  fieldName = NamePair {
                                    nameC = Name "f",
                                    nameHsIdent = Identifier
                                      "s2_f"},
                                  fieldComment = Nothing},
                                structFieldType = TypeConstArray
                                  3
                                  (TypePrim
                                    (PrimIntegral
                                      PrimShort
                                      Signed)),
                                structFieldOffset = 0,
                                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 "S2",
                        commentLocation = Just
                          "type_attributes.h:11:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["type_attributes.h"],
                            headerInclude =
                            "type_attributes.h"},
                        commentChildren = []}})
                [PeekByteOff (Idx 0) 0]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "S2",
                    structConstr = Name
                      "@NsConstr"
                      "S2",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "s2_f",
                        fieldType = HsConstArray
                          3
                          (HsPrimType HsPrimCShort),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:11:19",
                              fieldName = NamePair {
                                nameC = Name "f",
                                nameHsIdent = Identifier
                                  "s2_f"},
                              fieldComment = Nothing},
                            structFieldType = TypeConstArray
                              3
                              (TypePrim
                                (PrimIntegral
                                  PrimShort
                                  Signed)),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "f",
                            commentLocation = Just
                              "type_attributes.h:11:19",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "type_attributes.h:11:8",
                          declId = NamePair {
                            nameC = Name "S2",
                            nameHsIdent = Identifier "S2"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["type_attributes.h"],
                              headerInclude =
                              "type_attributes.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name "@NsConstr" "S2"),
                            structSizeof = 16,
                            structAlignment = 16,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:11:19",
                                  fieldName = NamePair {
                                    nameC = Name "f",
                                    nameHsIdent = Identifier
                                      "s2_f"},
                                  fieldComment = Nothing},
                                structFieldType = TypeConstArray
                                  3
                                  (TypePrim
                                    (PrimIntegral
                                      PrimShort
                                      Signed)),
                                structFieldOffset = 0,
                                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 "S2",
                        commentLocation = Just
                          "type_attributes.h:11:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["type_attributes.h"],
                            headerInclude =
                            "type_attributes.h"},
                        commentChildren = []}}
                  (Add 1)
                  (Seq
                    [
                      PokeByteOff
                        (Idx 2)
                        0
                        (Idx 0)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "S2",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "S2",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "My_unpacked_struct",
        structConstr = Name
          "@NsConstr"
          "My_unpacked_struct",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "my_unpacked_struct_c",
            fieldType = HsPrimType
              HsPrimCChar,
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "type_attributes.h:15:8",
                  fieldName = NamePair {
                    nameC = Name "c",
                    nameHsIdent = Identifier
                      "my_unpacked_struct_c"},
                  fieldComment = Nothing},
                structFieldType = TypePrim
                  (PrimChar
                    (PrimSignImplicit
                      (Just Signed))),
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "c",
                commentLocation = Just
                  "type_attributes.h:15:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "my_unpacked_struct_i",
            fieldType = HsPrimType
              HsPrimCInt,
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "type_attributes.h:16:7",
                  fieldName = NamePair {
                    nameC = Name "i",
                    nameHsIdent = Identifier
                      "my_unpacked_struct_i"},
                  fieldComment = Nothing},
                structFieldType = TypePrim
                  (PrimIntegral PrimInt Signed),
                structFieldOffset = 32,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "i",
                commentLocation = Just
                  "type_attributes.h:16:7",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "type_attributes.h:13:8",
              declId = NamePair {
                nameC = Name
                  "my_unpacked_struct",
                nameHsIdent = Identifier
                  "My_unpacked_struct"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["type_attributes.h"],
                  headerInclude =
                  "type_attributes.h"},
              declComment = Nothing},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name
                    "@NsConstr"
                    "My_unpacked_struct"),
                structSizeof = 8,
                structAlignment = 4,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:15:8",
                      fieldName = NamePair {
                        nameC = Name "c",
                        nameHsIdent = Identifier
                          "my_unpacked_struct_c"},
                      fieldComment = Nothing},
                    structFieldType = TypePrim
                      (PrimChar
                        (PrimSignImplicit
                          (Just Signed))),
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:16:7",
                      fieldName = NamePair {
                        nameC = Name "i",
                        nameHsIdent = Identifier
                          "my_unpacked_struct_i"},
                      fieldComment = Nothing},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Signed),
                    structFieldOffset = 32,
                    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
              "my_unpacked_struct",
            commentLocation = Just
              "type_attributes.h:13:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "My_unpacked_struct",
            structConstr = Name
              "@NsConstr"
              "My_unpacked_struct",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "my_unpacked_struct_c",
                fieldType = HsPrimType
                  HsPrimCChar,
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:15:8",
                      fieldName = NamePair {
                        nameC = Name "c",
                        nameHsIdent = Identifier
                          "my_unpacked_struct_c"},
                      fieldComment = Nothing},
                    structFieldType = TypePrim
                      (PrimChar
                        (PrimSignImplicit
                          (Just Signed))),
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "c",
                    commentLocation = Just
                      "type_attributes.h:15:8",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["type_attributes.h"],
                        headerInclude =
                        "type_attributes.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "my_unpacked_struct_i",
                fieldType = HsPrimType
                  HsPrimCInt,
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:16:7",
                      fieldName = NamePair {
                        nameC = Name "i",
                        nameHsIdent = Identifier
                          "my_unpacked_struct_i"},
                      fieldComment = Nothing},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Signed),
                    structFieldOffset = 32,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "i",
                    commentLocation = Just
                      "type_attributes.h:16:7",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["type_attributes.h"],
                        headerInclude =
                        "type_attributes.h"},
                    commentChildren = []}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc =
                  "type_attributes.h:13:8",
                  declId = NamePair {
                    nameC = Name
                      "my_unpacked_struct",
                    nameHsIdent = Identifier
                      "My_unpacked_struct"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["type_attributes.h"],
                      headerInclude =
                      "type_attributes.h"},
                  declComment = Nothing},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name
                        "@NsConstr"
                        "My_unpacked_struct"),
                    structSizeof = 8,
                    structAlignment = 4,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "type_attributes.h:15:8",
                          fieldName = NamePair {
                            nameC = Name "c",
                            nameHsIdent = Identifier
                              "my_unpacked_struct_c"},
                          fieldComment = Nothing},
                        structFieldType = TypePrim
                          (PrimChar
                            (PrimSignImplicit
                              (Just Signed))),
                        structFieldOffset = 0,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "type_attributes.h:16:7",
                          fieldName = NamePair {
                            nameC = Name "i",
                            nameHsIdent = Identifier
                              "my_unpacked_struct_i"},
                          fieldComment = Nothing},
                        structFieldType = TypePrim
                          (PrimIntegral PrimInt Signed),
                        structFieldOffset = 32,
                        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
                  "my_unpacked_struct",
                commentLocation = Just
                  "type_attributes.h:13:8",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}}
          StorableInstance {
            storableSizeOf = 8,
            storableAlignment = 4,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "My_unpacked_struct",
                    structConstr = Name
                      "@NsConstr"
                      "My_unpacked_struct",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_unpacked_struct_c",
                        fieldType = HsPrimType
                          HsPrimCChar,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:15:8",
                              fieldName = NamePair {
                                nameC = Name "c",
                                nameHsIdent = Identifier
                                  "my_unpacked_struct_c"},
                              fieldComment = Nothing},
                            structFieldType = TypePrim
                              (PrimChar
                                (PrimSignImplicit
                                  (Just Signed))),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "c",
                            commentLocation = Just
                              "type_attributes.h:15:8",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_unpacked_struct_i",
                        fieldType = HsPrimType
                          HsPrimCInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:16:7",
                              fieldName = NamePair {
                                nameC = Name "i",
                                nameHsIdent = Identifier
                                  "my_unpacked_struct_i"},
                              fieldComment = Nothing},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Signed),
                            structFieldOffset = 32,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "i",
                            commentLocation = Just
                              "type_attributes.h:16:7",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "type_attributes.h:13:8",
                          declId = NamePair {
                            nameC = Name
                              "my_unpacked_struct",
                            nameHsIdent = Identifier
                              "My_unpacked_struct"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["type_attributes.h"],
                              headerInclude =
                              "type_attributes.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "My_unpacked_struct"),
                            structSizeof = 8,
                            structAlignment = 4,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:15:8",
                                  fieldName = NamePair {
                                    nameC = Name "c",
                                    nameHsIdent = Identifier
                                      "my_unpacked_struct_c"},
                                  fieldComment = Nothing},
                                structFieldType = TypePrim
                                  (PrimChar
                                    (PrimSignImplicit
                                      (Just Signed))),
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:16:7",
                                  fieldName = NamePair {
                                    nameC = Name "i",
                                    nameHsIdent = Identifier
                                      "my_unpacked_struct_i"},
                                  fieldComment = Nothing},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Signed),
                                structFieldOffset = 32,
                                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
                          "my_unpacked_struct",
                        commentLocation = Just
                          "type_attributes.h:13:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["type_attributes.h"],
                            headerInclude =
                            "type_attributes.h"},
                        commentChildren = []}})
                [
                  PeekByteOff (Idx 0) 0,
                  PeekByteOff (Idx 0) 4]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "My_unpacked_struct",
                    structConstr = Name
                      "@NsConstr"
                      "My_unpacked_struct",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_unpacked_struct_c",
                        fieldType = HsPrimType
                          HsPrimCChar,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:15:8",
                              fieldName = NamePair {
                                nameC = Name "c",
                                nameHsIdent = Identifier
                                  "my_unpacked_struct_c"},
                              fieldComment = Nothing},
                            structFieldType = TypePrim
                              (PrimChar
                                (PrimSignImplicit
                                  (Just Signed))),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "c",
                            commentLocation = Just
                              "type_attributes.h:15:8",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_unpacked_struct_i",
                        fieldType = HsPrimType
                          HsPrimCInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:16:7",
                              fieldName = NamePair {
                                nameC = Name "i",
                                nameHsIdent = Identifier
                                  "my_unpacked_struct_i"},
                              fieldComment = Nothing},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Signed),
                            structFieldOffset = 32,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "i",
                            commentLocation = Just
                              "type_attributes.h:16:7",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "type_attributes.h:13:8",
                          declId = NamePair {
                            nameC = Name
                              "my_unpacked_struct",
                            nameHsIdent = Identifier
                              "My_unpacked_struct"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["type_attributes.h"],
                              headerInclude =
                              "type_attributes.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "My_unpacked_struct"),
                            structSizeof = 8,
                            structAlignment = 4,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:15:8",
                                  fieldName = NamePair {
                                    nameC = Name "c",
                                    nameHsIdent = Identifier
                                      "my_unpacked_struct_c"},
                                  fieldComment = Nothing},
                                structFieldType = TypePrim
                                  (PrimChar
                                    (PrimSignImplicit
                                      (Just Signed))),
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:16:7",
                                  fieldName = NamePair {
                                    nameC = Name "i",
                                    nameHsIdent = Identifier
                                      "my_unpacked_struct_i"},
                                  fieldComment = Nothing},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Signed),
                                structFieldOffset = 32,
                                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
                          "my_unpacked_struct",
                        commentLocation = Just
                          "type_attributes.h:13:8",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["type_attributes.h"],
                            headerInclude =
                            "type_attributes.h"},
                        commentChildren = []}}
                  (Add 2)
                  (Seq
                    [
                      PokeByteOff (Idx 3) 0 (Idx 0),
                      PokeByteOff
                        (Idx 3)
                        4
                        (Idx 1)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "My_unpacked_struct",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "My_unpacked_struct",
        deriveInstanceComment =
        Nothing},
    DeclData
      Struct {
        structName = Name
          "@NsTypeConstr"
          "My_packed_struct",
        structConstr = Name
          "@NsConstr"
          "My_packed_struct",
        structFields = [
          Field {
            fieldName = Name
              "@NsVar"
              "my_packed_struct_c",
            fieldType = HsPrimType
              HsPrimCChar,
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "type_attributes.h:21:9",
                  fieldName = NamePair {
                    nameC = Name "c",
                    nameHsIdent = Identifier
                      "my_packed_struct_c"},
                  fieldComment = Nothing},
                structFieldType = TypePrim
                  (PrimChar
                    (PrimSignImplicit
                      (Just Signed))),
                structFieldOffset = 0,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "c",
                commentLocation = Just
                  "type_attributes.h:21:9",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "my_packed_struct_i",
            fieldType = HsPrimType
              HsPrimCInt,
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "type_attributes.h:22:9",
                  fieldName = NamePair {
                    nameC = Name "i",
                    nameHsIdent = Identifier
                      "my_packed_struct_i"},
                  fieldComment = Nothing},
                structFieldType = TypePrim
                  (PrimIntegral PrimInt Signed),
                structFieldOffset = 8,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "i",
                commentLocation = Just
                  "type_attributes.h:22:9",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}},
          Field {
            fieldName = Name
              "@NsVar"
              "my_packed_struct_s",
            fieldType = HsTypRef
              (Name
                "@NsTypeConstr"
                "My_unpacked_struct"),
            fieldOrigin = StructField
              StructField {
                structFieldInfo = FieldInfo {
                  fieldLoc =
                  "type_attributes.h:23:30",
                  fieldName = NamePair {
                    nameC = Name "s",
                    nameHsIdent = Identifier
                      "my_packed_struct_s"},
                  fieldComment = Nothing},
                structFieldType = TypeStruct
                  NamePair {
                    nameC = Name
                      "my_unpacked_struct",
                    nameHsIdent = Identifier
                      "My_unpacked_struct"}
                  NameOriginInSource,
                structFieldOffset = 40,
                structFieldWidth = Nothing},
            fieldComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "s",
                commentLocation = Just
                  "type_attributes.h:23:30",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}}],
        structOrigin = Just
          Decl {
            declInfo = DeclInfo {
              declLoc =
              "type_attributes.h:19:37",
              declId = NamePair {
                nameC = Name "my_packed_struct",
                nameHsIdent = Identifier
                  "My_packed_struct"},
              declOrigin = NameOriginInSource,
              declAliases = [],
              declHeaderInfo = Just
                HeaderInfo {
                  headerMainHeaders = NE.fromList
                    ["type_attributes.h"],
                  headerInclude =
                  "type_attributes.h"},
              declComment = Nothing},
            declKind = Struct
              Struct {
                structNames = RecordNames
                  (Name
                    "@NsConstr"
                    "My_packed_struct"),
                structSizeof = 13,
                structAlignment = 1,
                structFields = [
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:21:9",
                      fieldName = NamePair {
                        nameC = Name "c",
                        nameHsIdent = Identifier
                          "my_packed_struct_c"},
                      fieldComment = Nothing},
                    structFieldType = TypePrim
                      (PrimChar
                        (PrimSignImplicit
                          (Just Signed))),
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:22:9",
                      fieldName = NamePair {
                        nameC = Name "i",
                        nameHsIdent = Identifier
                          "my_packed_struct_i"},
                      fieldComment = Nothing},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Signed),
                    structFieldOffset = 8,
                    structFieldWidth = Nothing},
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:23:30",
                      fieldName = NamePair {
                        nameC = Name "s",
                        nameHsIdent = Identifier
                          "my_packed_struct_s"},
                      fieldComment = Nothing},
                    structFieldType = TypeStruct
                      NamePair {
                        nameC = Name
                          "my_unpacked_struct",
                        nameHsIdent = Identifier
                          "My_unpacked_struct"}
                      NameOriginInSource,
                    structFieldOffset = 40,
                    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
              "my_packed_struct",
            commentLocation = Just
              "type_attributes.h:19:37",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclInstance
      DefineInstance {
        defineInstanceDeclarations =
        InstanceStorable
          Struct {
            structName = Name
              "@NsTypeConstr"
              "My_packed_struct",
            structConstr = Name
              "@NsConstr"
              "My_packed_struct",
            structFields = [
              Field {
                fieldName = Name
                  "@NsVar"
                  "my_packed_struct_c",
                fieldType = HsPrimType
                  HsPrimCChar,
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:21:9",
                      fieldName = NamePair {
                        nameC = Name "c",
                        nameHsIdent = Identifier
                          "my_packed_struct_c"},
                      fieldComment = Nothing},
                    structFieldType = TypePrim
                      (PrimChar
                        (PrimSignImplicit
                          (Just Signed))),
                    structFieldOffset = 0,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "c",
                    commentLocation = Just
                      "type_attributes.h:21:9",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["type_attributes.h"],
                        headerInclude =
                        "type_attributes.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "my_packed_struct_i",
                fieldType = HsPrimType
                  HsPrimCInt,
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:22:9",
                      fieldName = NamePair {
                        nameC = Name "i",
                        nameHsIdent = Identifier
                          "my_packed_struct_i"},
                      fieldComment = Nothing},
                    structFieldType = TypePrim
                      (PrimIntegral PrimInt Signed),
                    structFieldOffset = 8,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "i",
                    commentLocation = Just
                      "type_attributes.h:22:9",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["type_attributes.h"],
                        headerInclude =
                        "type_attributes.h"},
                    commentChildren = []}},
              Field {
                fieldName = Name
                  "@NsVar"
                  "my_packed_struct_s",
                fieldType = HsTypRef
                  (Name
                    "@NsTypeConstr"
                    "My_unpacked_struct"),
                fieldOrigin = StructField
                  StructField {
                    structFieldInfo = FieldInfo {
                      fieldLoc =
                      "type_attributes.h:23:30",
                      fieldName = NamePair {
                        nameC = Name "s",
                        nameHsIdent = Identifier
                          "my_packed_struct_s"},
                      fieldComment = Nothing},
                    structFieldType = TypeStruct
                      NamePair {
                        nameC = Name
                          "my_unpacked_struct",
                        nameHsIdent = Identifier
                          "My_unpacked_struct"}
                      NameOriginInSource,
                    structFieldOffset = 40,
                    structFieldWidth = Nothing},
                fieldComment = Just
                  Comment {
                    commentTitle = Nothing,
                    commentOrigin = Just "s",
                    commentLocation = Just
                      "type_attributes.h:23:30",
                    commentHeaderInfo = Just
                      HeaderInfo {
                        headerMainHeaders = NE.fromList
                          ["type_attributes.h"],
                        headerInclude =
                        "type_attributes.h"},
                    commentChildren = []}}],
            structOrigin = Just
              Decl {
                declInfo = DeclInfo {
                  declLoc =
                  "type_attributes.h:19:37",
                  declId = NamePair {
                    nameC = Name "my_packed_struct",
                    nameHsIdent = Identifier
                      "My_packed_struct"},
                  declOrigin = NameOriginInSource,
                  declAliases = [],
                  declHeaderInfo = Just
                    HeaderInfo {
                      headerMainHeaders = NE.fromList
                        ["type_attributes.h"],
                      headerInclude =
                      "type_attributes.h"},
                  declComment = Nothing},
                declKind = Struct
                  Struct {
                    structNames = RecordNames
                      (Name
                        "@NsConstr"
                        "My_packed_struct"),
                    structSizeof = 13,
                    structAlignment = 1,
                    structFields = [
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "type_attributes.h:21:9",
                          fieldName = NamePair {
                            nameC = Name "c",
                            nameHsIdent = Identifier
                              "my_packed_struct_c"},
                          fieldComment = Nothing},
                        structFieldType = TypePrim
                          (PrimChar
                            (PrimSignImplicit
                              (Just Signed))),
                        structFieldOffset = 0,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "type_attributes.h:22:9",
                          fieldName = NamePair {
                            nameC = Name "i",
                            nameHsIdent = Identifier
                              "my_packed_struct_i"},
                          fieldComment = Nothing},
                        structFieldType = TypePrim
                          (PrimIntegral PrimInt Signed),
                        structFieldOffset = 8,
                        structFieldWidth = Nothing},
                      StructField {
                        structFieldInfo = FieldInfo {
                          fieldLoc =
                          "type_attributes.h:23:30",
                          fieldName = NamePair {
                            nameC = Name "s",
                            nameHsIdent = Identifier
                              "my_packed_struct_s"},
                          fieldComment = Nothing},
                        structFieldType = TypeStruct
                          NamePair {
                            nameC = Name
                              "my_unpacked_struct",
                            nameHsIdent = Identifier
                              "My_unpacked_struct"}
                          NameOriginInSource,
                        structFieldOffset = 40,
                        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
                  "my_packed_struct",
                commentLocation = Just
                  "type_attributes.h:19:37",
                commentHeaderInfo = Just
                  HeaderInfo {
                    headerMainHeaders = NE.fromList
                      ["type_attributes.h"],
                    headerInclude =
                    "type_attributes.h"},
                commentChildren = []}}
          StorableInstance {
            storableSizeOf = 13,
            storableAlignment = 1,
            storablePeek = Lambda
              (NameHint "ptr")
              (Ap
                (StructCon
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "My_packed_struct",
                    structConstr = Name
                      "@NsConstr"
                      "My_packed_struct",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_packed_struct_c",
                        fieldType = HsPrimType
                          HsPrimCChar,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:21:9",
                              fieldName = NamePair {
                                nameC = Name "c",
                                nameHsIdent = Identifier
                                  "my_packed_struct_c"},
                              fieldComment = Nothing},
                            structFieldType = TypePrim
                              (PrimChar
                                (PrimSignImplicit
                                  (Just Signed))),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "c",
                            commentLocation = Just
                              "type_attributes.h:21:9",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_packed_struct_i",
                        fieldType = HsPrimType
                          HsPrimCInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:22:9",
                              fieldName = NamePair {
                                nameC = Name "i",
                                nameHsIdent = Identifier
                                  "my_packed_struct_i"},
                              fieldComment = Nothing},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Signed),
                            structFieldOffset = 8,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "i",
                            commentLocation = Just
                              "type_attributes.h:22:9",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_packed_struct_s",
                        fieldType = HsTypRef
                          (Name
                            "@NsTypeConstr"
                            "My_unpacked_struct"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:23:30",
                              fieldName = NamePair {
                                nameC = Name "s",
                                nameHsIdent = Identifier
                                  "my_packed_struct_s"},
                              fieldComment = Nothing},
                            structFieldType = TypeStruct
                              NamePair {
                                nameC = Name
                                  "my_unpacked_struct",
                                nameHsIdent = Identifier
                                  "My_unpacked_struct"}
                              NameOriginInSource,
                            structFieldOffset = 40,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "s",
                            commentLocation = Just
                              "type_attributes.h:23:30",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "type_attributes.h:19:37",
                          declId = NamePair {
                            nameC = Name "my_packed_struct",
                            nameHsIdent = Identifier
                              "My_packed_struct"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["type_attributes.h"],
                              headerInclude =
                              "type_attributes.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "My_packed_struct"),
                            structSizeof = 13,
                            structAlignment = 1,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:21:9",
                                  fieldName = NamePair {
                                    nameC = Name "c",
                                    nameHsIdent = Identifier
                                      "my_packed_struct_c"},
                                  fieldComment = Nothing},
                                structFieldType = TypePrim
                                  (PrimChar
                                    (PrimSignImplicit
                                      (Just Signed))),
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:22:9",
                                  fieldName = NamePair {
                                    nameC = Name "i",
                                    nameHsIdent = Identifier
                                      "my_packed_struct_i"},
                                  fieldComment = Nothing},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Signed),
                                structFieldOffset = 8,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:23:30",
                                  fieldName = NamePair {
                                    nameC = Name "s",
                                    nameHsIdent = Identifier
                                      "my_packed_struct_s"},
                                  fieldComment = Nothing},
                                structFieldType = TypeStruct
                                  NamePair {
                                    nameC = Name
                                      "my_unpacked_struct",
                                    nameHsIdent = Identifier
                                      "My_unpacked_struct"}
                                  NameOriginInSource,
                                structFieldOffset = 40,
                                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
                          "my_packed_struct",
                        commentLocation = Just
                          "type_attributes.h:19:37",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["type_attributes.h"],
                            headerInclude =
                            "type_attributes.h"},
                        commentChildren = []}})
                [
                  PeekByteOff (Idx 0) 0,
                  PeekByteOff (Idx 0) 1,
                  PeekByteOff (Idx 0) 5]),
            storablePoke = Lambda
              (NameHint "ptr")
              (Lambda
                (NameHint "s")
                (ElimStruct
                  (Idx 0)
                  Struct {
                    structName = Name
                      "@NsTypeConstr"
                      "My_packed_struct",
                    structConstr = Name
                      "@NsConstr"
                      "My_packed_struct",
                    structFields = [
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_packed_struct_c",
                        fieldType = HsPrimType
                          HsPrimCChar,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:21:9",
                              fieldName = NamePair {
                                nameC = Name "c",
                                nameHsIdent = Identifier
                                  "my_packed_struct_c"},
                              fieldComment = Nothing},
                            structFieldType = TypePrim
                              (PrimChar
                                (PrimSignImplicit
                                  (Just Signed))),
                            structFieldOffset = 0,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "c",
                            commentLocation = Just
                              "type_attributes.h:21:9",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_packed_struct_i",
                        fieldType = HsPrimType
                          HsPrimCInt,
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:22:9",
                              fieldName = NamePair {
                                nameC = Name "i",
                                nameHsIdent = Identifier
                                  "my_packed_struct_i"},
                              fieldComment = Nothing},
                            structFieldType = TypePrim
                              (PrimIntegral PrimInt Signed),
                            structFieldOffset = 8,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "i",
                            commentLocation = Just
                              "type_attributes.h:22:9",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}},
                      Field {
                        fieldName = Name
                          "@NsVar"
                          "my_packed_struct_s",
                        fieldType = HsTypRef
                          (Name
                            "@NsTypeConstr"
                            "My_unpacked_struct"),
                        fieldOrigin = StructField
                          StructField {
                            structFieldInfo = FieldInfo {
                              fieldLoc =
                              "type_attributes.h:23:30",
                              fieldName = NamePair {
                                nameC = Name "s",
                                nameHsIdent = Identifier
                                  "my_packed_struct_s"},
                              fieldComment = Nothing},
                            structFieldType = TypeStruct
                              NamePair {
                                nameC = Name
                                  "my_unpacked_struct",
                                nameHsIdent = Identifier
                                  "My_unpacked_struct"}
                              NameOriginInSource,
                            structFieldOffset = 40,
                            structFieldWidth = Nothing},
                        fieldComment = Just
                          Comment {
                            commentTitle = Nothing,
                            commentOrigin = Just "s",
                            commentLocation = Just
                              "type_attributes.h:23:30",
                            commentHeaderInfo = Just
                              HeaderInfo {
                                headerMainHeaders = NE.fromList
                                  ["type_attributes.h"],
                                headerInclude =
                                "type_attributes.h"},
                            commentChildren = []}}],
                    structOrigin = Just
                      Decl {
                        declInfo = DeclInfo {
                          declLoc =
                          "type_attributes.h:19:37",
                          declId = NamePair {
                            nameC = Name "my_packed_struct",
                            nameHsIdent = Identifier
                              "My_packed_struct"},
                          declOrigin = NameOriginInSource,
                          declAliases = [],
                          declHeaderInfo = Just
                            HeaderInfo {
                              headerMainHeaders = NE.fromList
                                ["type_attributes.h"],
                              headerInclude =
                              "type_attributes.h"},
                          declComment = Nothing},
                        declKind = Struct
                          Struct {
                            structNames = RecordNames
                              (Name
                                "@NsConstr"
                                "My_packed_struct"),
                            structSizeof = 13,
                            structAlignment = 1,
                            structFields = [
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:21:9",
                                  fieldName = NamePair {
                                    nameC = Name "c",
                                    nameHsIdent = Identifier
                                      "my_packed_struct_c"},
                                  fieldComment = Nothing},
                                structFieldType = TypePrim
                                  (PrimChar
                                    (PrimSignImplicit
                                      (Just Signed))),
                                structFieldOffset = 0,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:22:9",
                                  fieldName = NamePair {
                                    nameC = Name "i",
                                    nameHsIdent = Identifier
                                      "my_packed_struct_i"},
                                  fieldComment = Nothing},
                                structFieldType = TypePrim
                                  (PrimIntegral PrimInt Signed),
                                structFieldOffset = 8,
                                structFieldWidth = Nothing},
                              StructField {
                                structFieldInfo = FieldInfo {
                                  fieldLoc =
                                  "type_attributes.h:23:30",
                                  fieldName = NamePair {
                                    nameC = Name "s",
                                    nameHsIdent = Identifier
                                      "my_packed_struct_s"},
                                  fieldComment = Nothing},
                                structFieldType = TypeStruct
                                  NamePair {
                                    nameC = Name
                                      "my_unpacked_struct",
                                    nameHsIdent = Identifier
                                      "My_unpacked_struct"}
                                  NameOriginInSource,
                                structFieldOffset = 40,
                                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
                          "my_packed_struct",
                        commentLocation = Just
                          "type_attributes.h:19:37",
                        commentHeaderInfo = Just
                          HeaderInfo {
                            headerMainHeaders = NE.fromList
                              ["type_attributes.h"],
                            headerInclude =
                            "type_attributes.h"},
                        commentChildren = []}}
                  (Add 3)
                  (Seq
                    [
                      PokeByteOff (Idx 4) 0 (Idx 0),
                      PokeByteOff (Idx 4) 1 (Idx 1),
                      PokeByteOff
                        (Idx 4)
                        5
                        (Idx 2)])))},
        defineInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "My_packed_struct",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "My_packed_struct",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Wait_status_ptr_t",
        newtypeConstr = Name
          "@NsConstr"
          "Wait_status_ptr_t",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Wait_status_ptr_t",
          fieldType = HsByteArray,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "type_attributes.h:26:9",
            declId = NamePair {
              nameC = Name
                "wait_status_ptr_t",
              nameHsIdent = Identifier
                "Wait_status_ptr_t"},
            declOrigin = NameOriginGenerated
              (AnonId
                "type_attributes.h:26:9"),
            declAliases = [
              Name "wait_status_ptr_t"],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            declComment = Nothing},
          declKind = Union
            Union {
              unionNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Wait_status_ptr_t",
                newtypeField = Name
                  "@NsVar"
                  "un_Wait_status_ptr_t"},
              unionSizeof = 8,
              unionAlignment = 8,
              unionFields = [
                UnionField {
                  unionFieldInfo = FieldInfo {
                    fieldLoc =
                    "type_attributes.h:28:8",
                    fieldName = NamePair {
                      nameC = Name "__ip",
                      nameHsIdent = Identifier
                        "wait_status_ptr_t___ip"},
                    fieldComment = Nothing},
                  unionFieldType = TypePointer
                    (TypePrim
                      (PrimIntegral PrimInt Signed))},
                UnionField {
                  unionFieldInfo = FieldInfo {
                    fieldLoc =
                    "type_attributes.h:29:15",
                    fieldName = NamePair {
                      nameC = Name "__up",
                      nameHsIdent = Identifier
                        "wait_status_ptr_t___up"},
                    fieldComment = Nothing},
                  unionFieldType = TypePointer
                    (TypeUnion
                      NamePair {
                        nameC = Name "wait",
                        nameHsIdent = Identifier "Wait"}
                      NameOriginInSource)}]},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Just
              "type_attributes.h:26:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveVia
          (HsSizedByteArray 8 8),
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Wait_status_ptr_t",
        deriveInstanceComment =
        Nothing},
    DeclUnionGetter
      UnionGetter {
        unionGetterName = Name
          "@NsVar"
          "get_wait_status_ptr_t___ip",
        unionGetterType = HsPtr
          (HsPrimType HsPrimCInt),
        unionGetterConstr = Name
          "@NsTypeConstr"
          "Wait_status_ptr_t",
        unionGetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "__ip",
            commentLocation = Just
              "type_attributes.h:28:8",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "set_wait_status_ptr_t___ip"]]}},
    DeclUnionSetter
      UnionSetter {
        unionSetterName = Name
          "@NsVar"
          "set_wait_status_ptr_t___ip",
        unionSetterType = HsPtr
          (HsPrimType HsPrimCInt),
        unionSetterConstr = Name
          "@NsTypeConstr"
          "Wait_status_ptr_t",
        unionSetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Nothing,
            commentHeaderInfo = Nothing,
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "get_wait_status_ptr_t___ip"]]}},
    DeclUnionGetter
      UnionGetter {
        unionGetterName = Name
          "@NsVar"
          "get_wait_status_ptr_t___up",
        unionGetterType = HsPtr
          (HsTypRef
            (Name "@NsTypeConstr" "Wait")),
        unionGetterConstr = Name
          "@NsTypeConstr"
          "Wait_status_ptr_t",
        unionGetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "__up",
            commentLocation = Just
              "type_attributes.h:29:15",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "set_wait_status_ptr_t___up"]]}},
    DeclUnionSetter
      UnionSetter {
        unionSetterName = Name
          "@NsVar"
          "set_wait_status_ptr_t___up",
        unionSetterType = HsPtr
          (HsTypRef
            (Name "@NsTypeConstr" "Wait")),
        unionSetterConstr = Name
          "@NsTypeConstr"
          "Wait_status_ptr_t",
        unionSetterComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Nothing,
            commentLocation = Nothing,
            commentHeaderInfo = Nothing,
            commentChildren = [
              Paragraph
                [
                  Bold [TextContent "See:"],
                  Identifier
                    "get_wait_status_ptr_t___up"]]}},
    DeclEmpty
      EmptyData {
        emptyDataName = Name
          "@NsTypeConstr"
          "Wait",
        emptyDataOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "type_attributes.h:29:9",
            declId = NamePair {
              nameC = Name "wait",
              nameHsIdent = Identifier
                "Wait"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            declComment = Nothing},
          declKind = Opaque
            (NameKindTagged TagKindUnion),
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        emptyDataComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "wait",
            commentLocation = Just
              "type_attributes.h:29:9",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "T1",
        newtypeConstr = Name
          "@NsConstr"
          "T1",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_T1",
          fieldType = HsPrimType
            HsPrimCInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "type_attributes.h:32:13",
            declId = NamePair {
              nameC = Name "T1",
              nameHsIdent = Identifier "T1"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "T1",
                newtypeField = Name
                  "@NsVar"
                  "un_T1"},
              typedefType = TypePrim
                (PrimIntegral PrimInt Signed)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "T1",
            commentLocation = Just
              "type_attributes.h:32:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "T1",
        deriveInstanceComment =
        Nothing},
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "Short_a",
        newtypeConstr = Name
          "@NsConstr"
          "Short_a",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_Short_a",
          fieldType = HsPrimType
            HsPrimCShort,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "type_attributes.h:34:46",
            declId = NamePair {
              nameC = Name "short_a",
              nameHsIdent = Identifier
                "Short_a"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "Short_a",
                newtypeField = Name
                  "@NsVar"
                  "un_Short_a"},
              typedefType = TypePrim
                (PrimIntegral
                  PrimShort
                  Signed)},
          declSpec = DeclSpec
            CTypeSpec {
              cTypeSpecModule = Nothing,
              cTypeSpecIdentifier = Nothing,
              cTypeSpecInstances =
              Map.fromList []}},
        newtypeInstances = Set.fromList
          [
            Bits,
            Bounded,
            Enum,
            Eq,
            FiniteBits,
            Integral,
            Ix,
            Num,
            Ord,
            Read,
            Real,
            Show,
            Storable],
        newtypeComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just "short_a",
            commentLocation = Just
              "type_attributes.h:34:46",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["type_attributes.h"],
                headerInclude =
                "type_attributes.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "Short_a",
        deriveInstanceComment =
        Nothing}]
  