Significantly reduce allocations for calling middleware with reflection