This is a very interesting idea. Although I still prefer the "jquery" way of passing in success/ failure as options. In fact, depending on what framework I'm using, I even trigger a success or failure event so it looks more like..
model.fetch();
model.on('error', function() { throw new Error(); });
But this article really got me thinking though, thank you!