Optimize matches

I guess `for in` statements are bad sometimes.

![screen shot 2014-01-07 at 4 55 10 pm](https://f.cloud.github.com/assets/137/1865451/efe96216-780f-11e3-8b80-d2cd49ff8943.png)

/cc @mislav