This whole closure is trippy. You need at least five more line comments before this is acceptable.

Here's the deal: `filters` comes from the `keys` bit above, which comes from a function in another file which comes from another function which comes from a `_.pick` call on `ACCEPTED_FILTERS` which uses `matchesAny` (or at least as far as I can tell without running the code). You're doing this for like two calls to `_.contains`. You can literally write that in two lines. You've abstracted your abstractions of abstractions. Fuck that shit. You've written like 200 lines of code here and it could probably be condensed down to about 40.

Simplify. I know from experience (just ask @cvan) that it's too easy to write code that's far more complicated than it needs to be. Don't think that far ahead. You've thought so many steps ahead to figure out what the project might need in the future that you've made it impossible for anyone to figure out how to use those concepts in the future. Seriously, you've got a function here which does a `switch(typeof foo)`...who is ever going to know where those values come from and why they're sometimes a literal and sometimes a closure?

Take a step back, a deep breath, [if you're in a state where it's legal...or even if you're not] smoke a bowl, take a walk, then revisit the problem you set out to solve and give yourself some perspective. Let that pain-in-the-ass data structures professor that I'm sure you had (have?) sit in the back of your mind and bitch you out for using memory inefficiently. Don't be afraid to use `for` loops, even if they're gross and awful to type out. Get yourself a Sublime Text license if you haven't already. Play some Minecraft and fix those jank old redstone circuits to be new and compact with comparators and shit. Get that inner zen going.

And please CC me on the followup. 

![bswjvlp](https://f.cloud.github.com/assets/279498/2183042/4f205b34-97a2-11e3-9503-986088b4abd7.gif)