public object CallInstanceFunction(object target, Type[] typeParams, string funcName, object[] args) { return PerformInvocation(target, funcName, args, innerArgs => target.WrapIfValueType().CallMethod(typeParams, funcName, InstanceFlags, innerArgs), innerArgs => target.TryCallMethodWithValues(TryConvert, funcName, typeParams, InstanceFlags, innerArgs)); }