Assuming that we only want users to put the $serialize on the Resource class then perhaps we should simply be doing this:

```
var $serializeFunc = angular.isFunction(value.prototype.$serialize) ? value.prototype.$serialize : angular.identity;
```

Then ignoring any `$serialize` property on the actual instance object itself?