content: [
    DeclNewtype
      Newtype {
        newtypeName = Name
          "@NsTypeConstr"
          "FILE",
        newtypeConstr = Name
          "@NsConstr"
          "FILE",
        newtypeField = Field {
          fieldName = Name
            "@NsVar"
            "un_FILE",
          fieldType = HsPrimType
            HsPrimCInt,
          fieldOrigin = GeneratedField,
          fieldComment = Nothing},
        newtypeOrigin = Decl {
          declInfo = DeclInfo {
            declLoc =
            "macro_redefines_global.h:7:13",
            declId = NamePair {
              nameC = Name "FILE",
              nameHsIdent = Identifier
                "FILE"},
            declOrigin = NameOriginInSource,
            declAliases = [],
            declHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["macro_redefines_global.h"],
                headerInclude =
                "macro_redefines_global.h"},
            declComment = Nothing},
          declKind = Typedef
            Typedef {
              typedefNames = NewtypeNames {
                newtypeConstr = Name
                  "@NsConstr"
                  "FILE",
                newtypeField = Name
                  "@NsVar"
                  "un_FILE"},
              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 "FILE",
            commentLocation = Just
              "macro_redefines_global.h:7:13",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["macro_redefines_global.h"],
                headerInclude =
                "macro_redefines_global.h"},
            commentChildren = []}},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Storable,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Eq,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Ord,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Read,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveStock,
        deriveInstanceClass = Show,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Enum,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Ix,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bounded,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Bits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass =
        FiniteBits,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Integral,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Num,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing},
    DeclNewtypeInstance
      DeriveInstance {
        deriveInstanceStrategy =
        DeriveNewtype,
        deriveInstanceClass = Real,
        deriveInstanceName = Name
          "@NsTypeConstr"
          "FILE",
        deriveInstanceComment =
        Nothing}]
  