conditional middleware need to be `.call(this)`

just realized this since we removed the top closure. i'm not sure if
there's a better way to solve this, but i'd rather have this
inconvenience than the extra closures.

we should add tests!!!