Como usar correspondência de padrões para resolver o FizzBuzz em Javascript com Node.js e Funcy

Fui inspirado a escrever uma solução FizzBuzz esta manhã usando correspondência de padrão funcional em Javascript depois de ver este exemplo Clojure https://github.com/clojure/core.match#example-usage . Uma pequena pesquisa revelou este módulo npm incrível para Node.js chamado Funcy: https://github.com/bramstein/funcy . Veja como implementei o FizzBuzz com ele:

var fun = require('funcy')
, _ = fun.wildcard
, n;
for (n = 1; n <= 100; n++) {
console
.log(
fun
(
[[0, 0], function() { return 'FizzBuzz'; }],
[[0, _], function() { return 'Fizz'; }],
[[_, 0], function() { return 'Buzz'; }],
[_, function() { return n; }]
)([n % 3, n % 5])
);
}

Ou veja a essência aqui: https://gist.github.com/4298666