================================================================================
listings/equality
================================================================================

local x = new Listing {
  "one"
  "two"
}

res1 = x == x
res2 = x == new Listing {
  "one"
  "two"
}
res3 = x == new Listing {
  "two"
}
res4 = x == new Listing {
  "two"
  "one"
}
res5 = x == (x) {}
res6 = x == (x) { "one" }
res8 = x == (x) { default = 9 }
res9 = (x) { default = 9 } == (x) { default = 10 }
res10 = new Listing { "one" } == new Listing { "one"; default = 9 }
res11 = new Listing { x; local x = "one" } == new Listing { "one" }
res12 = new Listing { x; local x = "one"; local `_` = "two" } == new Listing { "one"; default = 9 }
res13 = new Listing { x; local x = "one" } { y; local y = "two" } == new Listing { "one"; "two" }

--------------------------------------------------------------------------------

(module
  (classProperty
    (modifier)
    (identifier)
    (newExpr
      (type
        (qualifiedIdentifier
          (identifier)))
      (objectBody
        (objectElement
          (slStringLiteral))
        (objectElement
          (slStringLiteral)))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (variableExpr
        (identifier))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (intLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (intLiteral))))
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (intLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))
          (objectProperty
            (identifier)
            (intLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (variableExpr
              (identifier)))
          (objectProperty
            (modifier)
            (identifier)
            (slStringLiteral))))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (variableExpr
              (identifier)))
          (objectProperty
            (modifier)
            (identifier)
            (slStringLiteral))
          (objectProperty
            (modifier)
            (identifier)
            (slStringLiteral))))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))
          (objectProperty
            (identifier)
            (intLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (objectLiteral
        (newExpr
          (type
            (qualifiedIdentifier
              (identifier)))
          (objectBody
            (objectElement
              (variableExpr
                (identifier)))
            (objectProperty
              (modifier)
              (identifier)
              (slStringLiteral))))
        (objectBody
          (objectElement
            (variableExpr
              (identifier)))
          (objectProperty
            (modifier)
            (identifier)
            (slStringLiteral))))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectElement
            (slStringLiteral))
          (objectElement
            (slStringLiteral)))))))
