class Steep::TypeInference::Logic::Result

def +(other)

def +(other)
  Result.new(nodes + other.nodes)
end

def initialize(nodes = [])

def initialize(nodes = [])
  @nodes = Set[].compare_by_identity.merge(nodes)
end

def merge(nodes)

def merge(nodes)
  Result.new(self.nodes + nodes)
end

def vars

def vars
  vars = Set[]
  nodes.each do |node|
    case node.type
    when :lvar, :lvasgn
      vars << node.children[0].name
    end
  end
  vars
end