module.exports = function pull (a) {
  if (typeof a === 'function' && a.length === 1) {
    return function (read) {
      var args = [].slice.call(arguments)
      return pull.apply(null, args)
    }
  }

  var read = a
  var n = arguments.length
  var i = 1

  if (read && typeof read.source === 'function') {
    read = read.source
  }

  for (; i < n; i++) {
    var s = arguments[i]
    if (typeof s === 'function') {
      read = s(read)
    } else if (s && typeof s === 'object') {
      s.sink(read)
      read = s.source
    }
  }

  return read
}

@@ -89,39 +89,8 @@
     
-return function (read) %7B%0A      
 var 
@@ -119,16 +119,70 @@
 rguments
+)%0A    return function (read) %7B%0A      args.unshift(read
 )%0A      
@@ -573,8 +573,9 @@
  read%0A%7D%0A
+%0A

fix bug