function defer(func) {
    var args = slice.call(arguments, 1);
    return setTimeout(function() { return func.apply(undefined, args); }, 1);
  }
Defers executing the `func` function until the current call stack has cleared.
Additional arguments will be passed to `func` when it is invoked.

@static
@memberOf _
@category Functions
@param {Function} func The function to defer.
@param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with.
@returns {Number} Returns the `setTimeout` timeout id.
@example

_.defer(function() { alert('deferred'); });
// returns from the function before `alert` is called