Hmm, it seems pretty identical to the AMD-loader (https://github.com/ajaxorg/node-amd-loader/blob/master/amd-loader.js#L79-89) but it seems that RequireJS agrees with you (http://requirejs.org/docs/whyamd.html#sugar)

Not quite sure how to implement it correctly then, because RequireJS relies on Function.toString and re-writing which I don't want get into re-doing. Because how would you differentiate between `define(['dep'], function(dep) { ... })` and `define(['dep'], function(require){ ... })`