class RBS::Types::Proc

def sub(s)

def sub(s)
  return self if s.empty?
  self.class.new(
    type: type.sub(s),
    block: block&.sub(s),
    self_type: self_type&.sub(s),
    location: location
  )
end