Your second comment is correct @wagenet. `wrappedFunction` is actually the original function without the wrapper providing `_super`, as defined in `Ember.wrap` [source](https://github.com/emberjs/ember.js/blob/master/packages/ember-metal/lib/utils.js#L321). When `func` is a function that has been wrapped, it will always have a arguments length of 0, so instead the internal, original function should be checked for length.

@ebryn's [commit](https://github.com/emberjs/ember.js/commit/814efee36fcd8d76603245fa7a99c1f8964b44b5) should not have set `func` to the wrapped version, but should have only used the length of it's arguments.