You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: type_param.rb
    path of file: ./repos/steep/lib/steep/interface
    
    the code of the file until where you have to start completion: module Steep
  module Interface
    class TypeParam
      attr_reader :name
      attr_reader :upper_bound
      attr_reader :variance
      attr_reader :unchecked
 
    
      def update(name: self.name, upper_bound: self.upper_bound, variance: self.variance, unchecked: self.unchecked, location: self.location)
        TypeParam.new(
          name: name,
          upper_bound: upper_bound,
          variance: variance,
          unchecked: unchecked,
          location: location
        )
      end