class Prism::StatementsNode

def ===(other)

comparing the value of locations. Locations are checked only for presence.
Implements case-equality for the node. This is effectively == but without
def ===(other)
  other.is_a?(StatementsNode) &&
    (body.length == other.body.length) &&
    body.zip(other.body).all? { |left, right| left === right }
end