module T::CompatibilityPatches::MethodExtensions

def arity

def arity
  arity = super
  return arity if arity != -1 || self.is_a?(Proc)
  sig = T::Private::Methods.signature_for_method(self)
  sig ? sig.method.arity : arity
end

def parameters

def parameters
  sig = T::Private::Methods.signature_for_method(self)
  sig ? sig.method.parameters : super
end

def source_location

def source_location
  sig = T::Private::Methods.signature_for_method(self)
  sig ? sig.method.source_location : super
end