class Steep::Interface::Shape

def subst(s, type: nil)

def subst(s, type: nil)
  ty =
    if type
      type
    else
      self.type.subst(s)
    end
  Shape.new(type: ty, private: private?, methods: methods.push_substitution(s))
end