class Steep::TypeConstruction::Pair

def +(other)

def +(other)
  if type.is_a?(AST::Types::Bot)
    other.with(type: type)
  else
    other
  end
end

def context

def context
  constr.context
end

def initialize(type:, constr:)

def initialize(type:, constr:)
  @type = type
  @constr = constr
end

def to_ary

def to_ary
  [type, constr, context]
end

def with(type: self.type, constr: self.constr)

def with(type: self.type, constr: self.constr)
  self.class.new(
    type: type,
    constr: constr
  )
end