It seems that `match` doesn't do the right thing that `switch` does with `this`: ``` foo: match @bar | foo => bar ``` compiles to: ``` foo: (function(){ var ref$; switch (ref$ = [this.bar], false) { case !foo(ref$[0]): return bar; } }()) ```